math.cos on complex, real part

Details

Time bar (total: 9.2s)

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.1s (23%)

Results
589.0ms2635×body256valid
481.0ms1034×body1024valid
414.0ms2582×body256infinite
367.0ms1012×body1024infinite
124.0ms508×body512infinite
119.0ms484×body512valid
1.0msbody2048valid
Bogosity

preprocess135.0ms (1.5%)

Algorithm
egg-herbie
Rules
1744×fma-def
1496×times-frac
770×sqr-pow
640×unswap-sqr
620×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
15170
213870
326366
438066
568366
6155466
7263766
8378966
9453366
10512166
11601566
12750766
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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 (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 1/2 (*.f64 (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))))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify107.0ms (1.2%)

Algorithm
egg-herbie
Rules
1464×fma-def
1028×associate-/l*
860×unswap-sqr
748×times-frac
636×associate-/r/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01335
13035
27335
313233
419433
534833
679033
7133733
8387933
9440133
10536833
11595233
12698433
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Accurracy
100.0%
Counts
4 → 2
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 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 52 to 38 computations (26.9% saved)

localize100.0ms (1.1%)

Local Accuracy

Found 5 expressions with local accuracy:

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

Compiled 66 to 26 computations (60.6% saved)

series12.0ms (0.1%)

Counts
5 → 76
Calls

21 calls:

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

rewrite43.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
370×add-sqr-sqrt
358×pow1
358×*-un-lft-identity
344×add-exp-log
342×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01799
135999
2558499
Stop Event
unsound
Counts
5 → 82
Calls
Call 1
Inputs
(/.f64 1/2 (exp.f64 im))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.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)))
Outputs
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
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) 3)
(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
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
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) 3)
(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))

simplify89.0ms (1%)

Algorithm
egg-herbie
Rules
1606×fma-def
1200×associate-*r*
998×associate-*l*
846×associate-+l+
806×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01533310
14673142
214082888
364342888
Stop Event
node limit
Counts
158 → 116
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.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 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.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/48 (*.f64 (pow.f64 re 4) (+.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/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/48 (*.f64 (pow.f64 re 4) (+.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 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.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
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.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) 3)
(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
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.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) 3)
(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))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 -1/2 im (*.f64 im (*.f64 im 1/4))))
(fma.f64 -1/2 im (fma.f64 im (*.f64 im 1/4) 1/2))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (fma.f64 -1/2 im (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 (*.f64 im im) (+.f64 (*.f64 im -1/12) 1/4)))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 (*.f64 re re) -1/4 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (fma.f64 (pow.f64 re 4) 1/48 (*.f64 re (*.f64 re -1/4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 (*.f64 re (*.f64 re -1/4))) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re)))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 4) 1/12 (*.f64 (pow.f64 im 6) 1/360)))
(+.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 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/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 (*.f64 re re) -1/4 1/2))
(+.f64 (*.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/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (fma.f64 (pow.f64 re 4) 1/48 (*.f64 re (*.f64 re -1/4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.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/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 (*.f64 re (*.f64 re -1/4))) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re)))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))))
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(*.f64 2 (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))))
1
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
1
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(*.f64 (pow.f64 (cos.f64 re) 3) -8)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(*.f64 (fabs.f64 (cos.f64 re)) 2)
(*.f64 2 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 -1))
(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)))
(*.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 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (*.f64 (cos.f64 re) -2) (exp.f64 -2))
(*.f64 -2 (*.f64 (cos.f64 re) (exp.f64 -2)))
(*.f64 (cos.f64 re) (*.f64 -2 (exp.f64 -2)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
0
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
0
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))))
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(*.f64 2 (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))))
1
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
1
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(*.f64 (pow.f64 (cos.f64 re) 3) -8)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(*.f64 (fabs.f64 (cos.f64 re)) 2)
(*.f64 2 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 -1))
(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)))
(*.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 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (*.f64 (cos.f64 re) -2) (exp.f64 -2))
(*.f64 -2 (*.f64 (cos.f64 re) (exp.f64 -2)))
(*.f64 (cos.f64 re) (*.f64 -2 (exp.f64 -2)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
0
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
0

eval28.0ms (0.3%)

Compiler

Compiled 1640 to 956 computations (41.7% saved)

prune32.0ms (0.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1106116
Fresh000
Picked112
Done000
Total1117118
Accurracy
100.0%
Counts
118 → 7
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)))
86.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
75.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
75.1%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
11.0%
(*.f64 2 (cos.f64 re))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.9%
(cos.f64 re)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
75.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
75.1%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
11.0%
(*.f64 2 (cos.f64 re))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.9%
(cos.f64 re)
Compiler

Compiled 266 to 208 computations (21.8% saved)

localize211.0ms (2.3%)

Local Accuracy

Found 6 expressions with local accuracy:

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

Compiled 124 to 60 computations (51.6% saved)

series11.0ms (0.1%)

Counts
6 → 92
Calls

24 calls:

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

rewrite47.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
518×add-sqr-sqrt
502×pow1
500×*-un-lft-identity
490×add-exp-log
488×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023122
1519122
Stop Event
node limit
Counts
6 → 87
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re)))
(+.f64 (*.f64 1/5159780352 (cos.f64 re)) (cos.f64 re))
(+.f64 (*.f64 1/5159780352 (cos.f64 re)) (*.f64 1/5159780352 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/5159780352 (cos.f64 re)))) -2)
(/.f64 (*.f64 1/5159780352 (cos.f64 re)) 1/5159780352)
(/.f64 (*.f64 1/5159780352 (cos.f64 re)) (+.f64 (cos.f64 re) (-.f64 (*.f64 1/5159780352 (cos.f64 re)) (*.f64 1/5159780352 (cos.f64 re)))))
(/.f64 (-.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re))) (-.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re))))
(pow.f64 (*.f64 1/5159780352 (cos.f64 re)) -2)
(pow.f64 (*.f64 1/5159780352 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 1/5159780352 (cos.f64 re)))
(fabs.f64 (*.f64 1/5159780352 (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 1/5159780352 (cos.f64 re)))))
(cbrt.f64 (*.f64 1/5159780352 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/5159780352 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 1/5159780352 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/5159780352 (cos.f64 re))) -2))
(log1p.f64 (expm1.f64 (*.f64 1/5159780352 (cos.f64 re))))
(fma.f64 (cos.f64 re) -2 (*.f64 1/5159780352 (cos.f64 re)))
(fma.f64 -2 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re)))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im

simplify88.0ms (1%)

Algorithm
egg-herbie
Rules
1154×fma-def
760×associate-+r-
756×distribute-lft-in
720×distribute-rgt-in
706×distribute-lft-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01663349
13813221
210122877
346932801
Stop Event
node limit
Counts
179 → 173
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))))
(+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 6))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(pow.f64 im 2)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(*.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 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.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)))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re)))
(+.f64 (*.f64 1/5159780352 (cos.f64 re)) (cos.f64 re))
(+.f64 (*.f64 1/5159780352 (cos.f64 re)) (*.f64 1/5159780352 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/5159780352 (cos.f64 re)))) -2)
(/.f64 (*.f64 1/5159780352 (cos.f64 re)) 1/5159780352)
(/.f64 (*.f64 1/5159780352 (cos.f64 re)) (+.f64 (cos.f64 re) (-.f64 (*.f64 1/5159780352 (cos.f64 re)) (*.f64 1/5159780352 (cos.f64 re)))))
(/.f64 (-.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re))) (-.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re))))
(pow.f64 (*.f64 1/5159780352 (cos.f64 re)) -2)
(pow.f64 (*.f64 1/5159780352 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 1/5159780352 (cos.f64 re)))
(fabs.f64 (*.f64 1/5159780352 (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 1/5159780352 (cos.f64 re)))))
(cbrt.f64 (*.f64 1/5159780352 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/5159780352 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 1/5159780352 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/5159780352 (cos.f64 re))) -2))
(log1p.f64 (expm1.f64 (*.f64 1/5159780352 (cos.f64 re))))
(fma.f64 (cos.f64 re) -2 (*.f64 1/5159780352 (cos.f64 re)))
(fma.f64 -2 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re)))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
Outputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 1/2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))))
(fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(fma.f64 1/48 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 re 4)) (fma.f64 1/2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4))))
(fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 1/2 (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 6))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))))
(fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (fma.f64 -1/1440 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 6)) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))))
(fma.f64 1/48 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 re re)) (fma.f64 1/2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re)))))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re)))))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (*.f64 (*.f64 -1/4 (+.f64 2 (*.f64 im im))) (*.f64 re re)))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (*.f64 im im))) (*.f64 (*.f64 -1/4 (+.f64 2 (*.f64 im im))) (*.f64 re re))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 im im 2))) (*.f64 (*.f64 1/48 (pow.f64 re 4)) (fma.f64 im im 2))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (*.f64 im im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (*.f64 (*.f64 -1/1440 (+.f64 2 (*.f64 im im))) (pow.f64 re 6)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 (fma.f64 im im 2) (+.f64 (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 im (*.f64 im (*.f64 1/2 (cos.f64 re))))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 im (*.f64 im (*.f64 1/2 (cos.f64 re))))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/360 (pow.f64 im 6))))
(+.f64 2 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6)))))
(+.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)))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re)))
(*.f64 5159780353/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 5159780353/5159780352)
(+.f64 (*.f64 1/5159780352 (cos.f64 re)) (cos.f64 re))
(*.f64 5159780353/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 5159780353/5159780352)
(+.f64 (*.f64 1/5159780352 (cos.f64 re)) (*.f64 1/5159780352 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/2579890176)
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/5159780352 (cos.f64 re)))) -2)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(/.f64 (*.f64 1/5159780352 (cos.f64 re)) 1/5159780352)
(cos.f64 re)
(/.f64 (*.f64 1/5159780352 (cos.f64 re)) (+.f64 (cos.f64 re) (-.f64 (*.f64 1/5159780352 (cos.f64 re)) (*.f64 1/5159780352 (cos.f64 re)))))
1/5159780352
(/.f64 (-.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re))) (-.f64 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re))))
1
(pow.f64 (*.f64 1/5159780352 (cos.f64 re)) -2)
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)
(pow.f64 (*.f64 1/5159780352 (cos.f64 re)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(sqrt.f64 (*.f64 1/5159780352 (cos.f64 re)))
(sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(fabs.f64 (*.f64 1/5159780352 (cos.f64 re)))
(*.f64 1/5159780352 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 1/5159780352 (cos.f64 re)))))
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(cbrt.f64 (*.f64 1/5159780352 (cos.f64 re)))
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(expm1.f64 (log1p.f64 (*.f64 1/5159780352 (cos.f64 re))))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (log.f64 (*.f64 1/5159780352 (cos.f64 re))))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (*.f64 (log.f64 (*.f64 1/5159780352 (cos.f64 re))) -2))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)
(log1p.f64 (expm1.f64 (*.f64 1/5159780352 (cos.f64 re))))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(fma.f64 (cos.f64 re) -2 (*.f64 1/5159780352 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352))
(*.f64 (cos.f64 re) -10319560703/5159780352)
(fma.f64 -2 (cos.f64 re) (*.f64 1/5159780352 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352))
(*.f64 (cos.f64 re) -10319560703/5159780352)
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) -2)
(+.f64 (cos.f64 re) 2)
(+.f64 2 (cos.f64 re))
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
1
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) 1) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
1
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(pow.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(neg.f64 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(neg.f64 (cos.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144

eval42.0ms (0.5%)

Compiler

Compiled 2057 to 1354 computations (34.2% saved)

prune54.0ms (0.6%)

Pruning

22 alts after pruning (17 fresh and 5 done)

PrunedKeptTotal
New15617173
Fresh101
Picked145
Done011
Total15822180
Accurracy
100.0%
Counts
180 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
3.3%
(+.f64 (cos.f64 re) -2)
47.9%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
53.7%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
38.3%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
35.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
41.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
75.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
27.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
27.8%
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
6.2%
(*.f64 1/2 262144)
9.4%
(*.f64 1/2 3/2)
8.2%
(*.f64 1/2 1/2)
7.8%
(*.f64 1/2 1/4)
7.5%
(*.f64 1/2 1/8)
3.5%
(*.f64 1/2 -1)
3.7%
(*.f64 1/2 -2)
50.9%
(cos.f64 re)
29.1%
1
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
3.3%
(+.f64 (cos.f64 re) -2)
47.9%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
53.7%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
38.3%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
35.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
41.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
75.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
27.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
27.8%
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
6.2%
(*.f64 1/2 262144)
9.4%
(*.f64 1/2 3/2)
8.2%
(*.f64 1/2 1/2)
7.8%
(*.f64 1/2 1/4)
7.5%
(*.f64 1/2 1/8)
3.5%
(*.f64 1/2 -1)
3.7%
(*.f64 1/2 -2)
50.9%
(cos.f64 re)
29.1%
1
Compiler

Compiled 640 to 526 computations (17.8% saved)

localize128.0ms (1.4%)

Local Accuracy

Found 5 expressions with local accuracy:

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

Compiled 94 to 54 computations (42.6% saved)

series8.0ms (0.1%)

Counts
5 → 84
Calls

21 calls:

TimeVariablePointExpression
3.0ms
im
@0
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
1.0ms
re
@inf
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
0.0ms
im
@-inf
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
0.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))

rewrite110.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1696×prod-diff
526×add-sqr-sqrt
504×pow1
504×*-un-lft-identity
490×add-exp-log
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02399
151691
2684391
Stop Event
node limit
Counts
5 → 154
Calls
Call 1
Inputs
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (cos.f64 re) -2)
(+.f64 2 (+.f64 (*.f64 im im) 13/12))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(+.f64 (*.f64 im im) 13/12)
Outputs
(+.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 3)) (+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) 1/2)) (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))
(/.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/64 (pow.f64 (*.f64 re re) 3)) 1/8)) (+.f64 1/4 (-.f64 (*.f64 1/16 (pow.f64 re 4)) (*.f64 -1/8 (*.f64 re re)))))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 (*.f64 re re) 3)) 1/8) (fma.f64 im im 2)) (+.f64 1/4 (-.f64 (*.f64 1/16 (pow.f64 re 4)) (*.f64 -1/8 (*.f64 re re)))))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re 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 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 (fma.f64 (cos.f64 re) (cos.f64 re) -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) (fma.f64 (cos.f64 re) (cos.f64 re) -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 (fma.f64 (cos.f64 re) (cos.f64 re) -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 (fma.f64 (cos.f64 re) (cos.f64 re) -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)
(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 (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 (exp.f64 (log1p.f64 (+.f64 (*.f64 im im) 37/12))) 1)
(-.f64 (/.f64 4 (-.f64 11/12 (*.f64 im im))) (/.f64 (pow.f64 (fma.f64 im im 13/12) 2) (-.f64 11/12 (*.f64 im im))))
(*.f64 (+.f64 (*.f64 im im) 37/12) 1)
(*.f64 1 (+.f64 (*.f64 im im) 37/12))
(*.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) (pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 2) (cbrt.f64 (+.f64 (*.f64 im im) 37/12)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 im im) 37/12)) (sqrt.f64 (+.f64 (*.f64 im im) 37/12)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (/.f64 1 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2)))))
(*.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (/.f64 1 (-.f64 11/12 (*.f64 im im))))
(/.f64 1 (/.f64 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))) (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)))
(/.f64 1 (/.f64 (-.f64 11/12 (*.f64 im im)) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 (pow.f64 (fma.f64 im im 13/12) 2) (-.f64 4 (*.f64 2 (fma.f64 im im 13/12)))))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)) (neg.f64 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2)))))
(/.f64 (neg.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))) (neg.f64 (-.f64 11/12 (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) 2197/1728) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 169/144 (*.f64 (fma.f64 im im 2) 13/12))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 13/12) 2) 4) (-.f64 (fma.f64 im im 13/12) 2))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) 169/144) (-.f64 (fma.f64 im im 2) 13/12))
(pow.f64 (+.f64 (*.f64 im im) 37/12) 1)
(pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 3)
(pow.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 im im) 37/12)) 2)
(sqrt.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 2))
(log.f64 (exp.f64 (+.f64 (*.f64 im im) 37/12)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 im im) 37/12))))
(cbrt.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3))
(expm1.f64 (log1p.f64 (+.f64 (*.f64 im im) 37/12)))
(exp.f64 (log.f64 (+.f64 (*.f64 im im) 37/12)))
(exp.f64 (*.f64 (log.f64 (+.f64 (*.f64 im im) 37/12)) 1))
(log1p.f64 (expm1.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 1 (fma.f64 im im 13/12) 2)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2) (cbrt.f64 (fma.f64 im im 13/12)) 2)
(fma.f64 (sqrt.f64 (fma.f64 im im 13/12)) (sqrt.f64 (fma.f64 im im 13/12)) 2)
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) 13/12))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 13/12 (*.f64 1/2 (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))))) 1)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))) (-.f64 11/12 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (*.f64 1/2 (cos.f64 re))) (-.f64 11/12 (*.f64 im im)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 (*.f64 im im) 37/12)) (*.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (+.f64 (*.f64 im im) 37/12) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 13/12))) 1)
(-.f64 (/.f64 (pow.f64 im 4) (fma.f64 im im -13/12)) (/.f64 169/144 (fma.f64 im im -13/12)))
(*.f64 (fma.f64 im im 13/12) 1)
(*.f64 1 (fma.f64 im im 13/12))
(*.f64 (cbrt.f64 (fma.f64 im im 13/12)) (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2) (cbrt.f64 (fma.f64 im im 13/12)))
(*.f64 (sqrt.f64 (fma.f64 im im 13/12)) (sqrt.f64 (fma.f64 im im 13/12)))
(*.f64 (+.f64 2197/1728 (pow.f64 im 6)) (/.f64 1 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12))))))
(*.f64 (+.f64 (pow.f64 im 4) -169/144) (/.f64 1 (fma.f64 im im -13/12)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))) (+.f64 2197/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 im im -13/12) (+.f64 (pow.f64 im 4) -169/144)))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 (pow.f64 im 4) -169/144) (fma.f64 im im -13/12))
(/.f64 (neg.f64 (+.f64 2197/1728 (pow.f64 im 6))) (neg.f64 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im 4) -169/144)) (neg.f64 (fma.f64 im im -13/12)))
(/.f64 (-.f64 169/144 (pow.f64 im 4)) (-.f64 13/12 (*.f64 im im)))
(pow.f64 (fma.f64 im im 13/12) 1)
(pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 3)
(pow.f64 (pow.f64 (fma.f64 im im 13/12) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 im im 13/12)) 2)
(sqrt.f64 (pow.f64 (fma.f64 im im 13/12) 2))
(log.f64 (exp.f64 (fma.f64 im im 13/12)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 13/12))))
(cbrt.f64 (pow.f64 (fma.f64 im im 13/12) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im 13/12)))
(exp.f64 (log.f64 (fma.f64 im im 13/12)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 13/12)) 1))
(log1p.f64 (expm1.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(fma.f64 1 (*.f64 im im) 13/12)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 13/12)

simplify104.0ms (1.1%)

Algorithm
egg-herbie
Rules
1128×times-frac
788×fma-neg
728×associate-*r*
682×log-prod
600×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04436402
111796064
246866006
Stop Event
node limit
Counts
238 → 257
Calls
Call 1
Inputs
(*.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 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
-1
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))) 1)
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))) 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)
37/12
(+.f64 37/12 (pow.f64 im 2))
(+.f64 37/12 (pow.f64 im 2))
(+.f64 37/12 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 37/12 (pow.f64 im 2))
(+.f64 37/12 (pow.f64 im 2))
(+.f64 37/12 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 37/12 (pow.f64 im 2))
(+.f64 37/12 (pow.f64 im 2))
(+.f64 37/12 (pow.f64 im 2))
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 37/12 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 37/12 (pow.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 37/12 (pow.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 6))) (*.f64 1/48 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 37/24 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
13/12
(+.f64 13/12 (pow.f64 im 2))
(+.f64 13/12 (pow.f64 im 2))
(+.f64 13/12 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 13/12 (pow.f64 im 2))
(+.f64 13/12 (pow.f64 im 2))
(+.f64 13/12 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 13/12 (pow.f64 im 2))
(+.f64 13/12 (pow.f64 im 2))
(+.f64 13/12 (pow.f64 im 2))
(+.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 3)) (+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) 1/2)) (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))
(/.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/64 (pow.f64 (*.f64 re re) 3)) 1/8)) (+.f64 1/4 (-.f64 (*.f64 1/16 (pow.f64 re 4)) (*.f64 -1/8 (*.f64 re re)))))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 (*.f64 re re) 3)) 1/8) (fma.f64 im im 2)) (+.f64 1/4 (-.f64 (*.f64 1/16 (pow.f64 re 4)) (*.f64 -1/8 (*.f64 re re)))))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re 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 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 (fma.f64 (cos.f64 re) (cos.f64 re) -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) (fma.f64 (cos.f64 re) (cos.f64 re) -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 (fma.f64 (cos.f64 re) (cos.f64 re) -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 (fma.f64 (cos.f64 re) (cos.f64 re) -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)
(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 (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 (exp.f64 (log1p.f64 (+.f64 (*.f64 im im) 37/12))) 1)
(-.f64 (/.f64 4 (-.f64 11/12 (*.f64 im im))) (/.f64 (pow.f64 (fma.f64 im im 13/12) 2) (-.f64 11/12 (*.f64 im im))))
(*.f64 (+.f64 (*.f64 im im) 37/12) 1)
(*.f64 1 (+.f64 (*.f64 im im) 37/12))
(*.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) (pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 2) (cbrt.f64 (+.f64 (*.f64 im im) 37/12)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 im im) 37/12)) (sqrt.f64 (+.f64 (*.f64 im im) 37/12)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (/.f64 1 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2)))))
(*.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (/.f64 1 (-.f64 11/12 (*.f64 im im))))
(/.f64 1 (/.f64 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))) (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)))
(/.f64 1 (/.f64 (-.f64 11/12 (*.f64 im im)) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 (pow.f64 (fma.f64 im im 13/12) 2) (-.f64 4 (*.f64 2 (fma.f64 im im 13/12)))))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)) (neg.f64 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2)))))
(/.f64 (neg.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))) (neg.f64 (-.f64 11/12 (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) 2197/1728) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 169/144 (*.f64 (fma.f64 im im 2) 13/12))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 13/12) 2) 4) (-.f64 (fma.f64 im im 13/12) 2))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) 169/144) (-.f64 (fma.f64 im im 2) 13/12))
(pow.f64 (+.f64 (*.f64 im im) 37/12) 1)
(pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 3)
(pow.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 im im) 37/12)) 2)
(sqrt.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 2))
(log.f64 (exp.f64 (+.f64 (*.f64 im im) 37/12)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 im im) 37/12))))
(cbrt.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3))
(expm1.f64 (log1p.f64 (+.f64 (*.f64 im im) 37/12)))
(exp.f64 (log.f64 (+.f64 (*.f64 im im) 37/12)))
(exp.f64 (*.f64 (log.f64 (+.f64 (*.f64 im im) 37/12)) 1))
(log1p.f64 (expm1.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 1 (fma.f64 im im 13/12) 2)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2) (cbrt.f64 (fma.f64 im im 13/12)) 2)
(fma.f64 (sqrt.f64 (fma.f64 im im 13/12)) (sqrt.f64 (fma.f64 im im 13/12)) 2)
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) 13/12))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 13/12 (*.f64 1/2 (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))))) 1)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))) (-.f64 11/12 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (*.f64 1/2 (cos.f64 re))) (-.f64 11/12 (*.f64 im im)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 (*.f64 im im) 37/12)) (*.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (+.f64 (*.f64 im im) 37/12) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 13/12))) 1)
(-.f64 (/.f64 (pow.f64 im 4) (fma.f64 im im -13/12)) (/.f64 169/144 (fma.f64 im im -13/12)))
(*.f64 (fma.f64 im im 13/12) 1)
(*.f64 1 (fma.f64 im im 13/12))
(*.f64 (cbrt.f64 (fma.f64 im im 13/12)) (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2) (cbrt.f64 (fma.f64 im im 13/12)))
(*.f64 (sqrt.f64 (fma.f64 im im 13/12)) (sqrt.f64 (fma.f64 im im 13/12)))
(*.f64 (+.f64 2197/1728 (pow.f64 im 6)) (/.f64 1 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12))))))
(*.f64 (+.f64 (pow.f64 im 4) -169/144) (/.f64 1 (fma.f64 im im -13/12)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))) (+.f64 2197/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 im im -13/12) (+.f64 (pow.f64 im 4) -169/144)))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 (pow.f64 im 4) -169/144) (fma.f64 im im -13/12))
(/.f64 (neg.f64 (+.f64 2197/1728 (pow.f64 im 6))) (neg.f64 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im 4) -169/144)) (neg.f64 (fma.f64 im im -13/12)))
(/.f64 (-.f64 169/144 (pow.f64 im 4)) (-.f64 13/12 (*.f64 im im)))
(pow.f64 (fma.f64 im im 13/12) 1)
(pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 3)
(pow.f64 (pow.f64 (fma.f64 im im 13/12) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 im im 13/12)) 2)
(sqrt.f64 (pow.f64 (fma.f64 im im 13/12) 2))
(log.f64 (exp.f64 (fma.f64 im im 13/12)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 13/12))))
(cbrt.f64 (pow.f64 (fma.f64 im im 13/12) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im 13/12)))
(exp.f64 (log.f64 (fma.f64 im im 13/12)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 13/12)) 1))
(log1p.f64 (expm1.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(fma.f64 1 (*.f64 im im) 13/12)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 13/12)
Outputs
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))
(*.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 im im 2)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))
(*.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 im im 2)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
-1
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(fma.f64 -1/2 (*.f64 re re) -1)
(fma.f64 (*.f64 re re) -1/2 -1)
(fma.f64 re (*.f64 re -1/2) -1)
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 re re) -1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 (*.f64 re re) -1/2 -1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 re -1/2) -1))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))) 1)
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))) -1)
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 (*.f64 re re) -1/2 (*.f64 -1/720 (pow.f64 re 6)))) -1)
(+.f64 (fma.f64 (*.f64 re re) -1/2 (*.f64 1/24 (pow.f64 re 4))) (fma.f64 -1/720 (pow.f64 re 6) -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)
37/12
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(+.f64 37/12 (pow.f64 im 2))
(fma.f64 im im 37/12)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 37/12))
(+.f64 (*.f64 1/2 (+.f64 37/12 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 2))))
(fma.f64 1/2 (fma.f64 im im 37/12) (*.f64 (*.f64 -1/4 (fma.f64 im im 37/12)) (*.f64 re re)))
(fma.f64 1/2 (fma.f64 im im 37/12) (*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 37/12))))
(+.f64 (*.f64 1/2 (+.f64 37/12 (pow.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 4)))))
(fma.f64 1/2 (fma.f64 im im 37/12) (fma.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 im im 37/12)) (*.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 37/12)))))
(fma.f64 1/2 (fma.f64 im im 37/12) (fma.f64 (*.f64 -1/4 (fma.f64 im im 37/12)) (*.f64 re re) (*.f64 (fma.f64 im im 37/12) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 1/2 (fma.f64 im im 37/12) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 37/12)) (*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 37/12)))))
(+.f64 (*.f64 1/2 (+.f64 37/12 (pow.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 6))) (*.f64 1/48 (*.f64 (+.f64 37/12 (pow.f64 im 2)) (pow.f64 re 4))))))
(fma.f64 1/2 (fma.f64 im im 37/12) (fma.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 im im 37/12)) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (fma.f64 im im 37/12)) (*.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 37/12))))))
(fma.f64 1/2 (fma.f64 im im 37/12) (fma.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 im im 37/12)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 37/12)) (*.f64 (pow.f64 re 6) (*.f64 -1/1440 (fma.f64 im im 37/12))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 37/12 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(*.f64 37/24 (cos.f64 re))
(*.f64 (cos.f64 re) 37/24)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 37/24 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) 37/24))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) 37/24))
13/12
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(+.f64 13/12 (pow.f64 im 2))
(fma.f64 im im 13/12)
(+.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 3)) (+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) 1/2)) (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) 1/8) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 3)) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) 1/4) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (-.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 1/2 (fma.f64 im im 2))))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (*.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/2 (pow.f64 (fma.f64 im im 2) 2)))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (*.f64 1/2 (*.f64 (*.f64 -1/4 (*.f64 re re)) (pow.f64 (fma.f64 im im 2) 2)))))
(/.f64 (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))
(/.f64 (*.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 (fma.f64 im im 2) (-.f64 1/2 (*.f64 -1/4 (*.f64 re re))))) (*.f64 (fma.f64 im im 2) (-.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16))) (*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) 1/4 1/2)))
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 1)
(/.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/64 (pow.f64 (*.f64 re re) 3)) 1/8)) (+.f64 1/4 (-.f64 (*.f64 1/16 (pow.f64 re 4)) (*.f64 -1/8 (*.f64 re re)))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/4 (+.f64 (*.f64 (pow.f64 re 4) 1/16) (*.f64 1/8 (*.f64 re re)))) (fma.f64 -1/64 (pow.f64 re 6) 1/8)))
(*.f64 (/.f64 (fma.f64 im im 2) (+.f64 1/4 (fma.f64 (pow.f64 re 4) 1/16 (*.f64 (*.f64 re re) 1/8)))) (fma.f64 (pow.f64 re 6) -1/64 1/8))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
(*.f64 (/.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) 1/4 1/2)) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 (*.f64 re re) 3)) 1/8) (fma.f64 im im 2)) (+.f64 1/4 (-.f64 (*.f64 1/16 (pow.f64 re 4)) (*.f64 -1/8 (*.f64 re re)))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/4 (+.f64 (*.f64 (pow.f64 re 4) 1/16) (*.f64 1/8 (*.f64 re re)))) (fma.f64 -1/64 (pow.f64 re 6) 1/8)))
(*.f64 (/.f64 (fma.f64 im im 2) (+.f64 1/4 (fma.f64 (pow.f64 re 4) 1/16 (*.f64 (*.f64 re re) 1/8)))) (fma.f64 (pow.f64 re 6) -1/64 1/8))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
(*.f64 (/.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) 1/4 1/2)) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 3)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3) 1/3)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 2)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(-.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 (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 (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 (+.f64 (pow.f64 (cos.f64 re) 2) 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) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(*.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -4) (/.f64 1 (+.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 (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 (+.f64 (pow.f64 (cos.f64 re) 2) 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) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (fma.f64 (cos.f64 re) (cos.f64 re) -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 (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 (+.f64 (pow.f64 (cos.f64 re) 2) 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) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.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 (+.f64 (pow.f64 (cos.f64 re) 2) 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) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -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 (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 (+.f64 (pow.f64 (cos.f64 re) 2) 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) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.f64 (neg.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -4)) (neg.f64 (+.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 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.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 (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 (exp.f64 (log1p.f64 (+.f64 (*.f64 im im) 37/12))) 1)
(fma.f64 im im 37/12)
(-.f64 (/.f64 4 (-.f64 11/12 (*.f64 im im))) (/.f64 (pow.f64 (fma.f64 im im 13/12) 2) (-.f64 11/12 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im)))
(*.f64 (+.f64 (*.f64 im im) 37/12) 1)
(fma.f64 im im 37/12)
(*.f64 1 (+.f64 (*.f64 im im) 37/12))
(fma.f64 im im 37/12)
(*.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) (pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 2))
(fma.f64 im im 37/12)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 2) (cbrt.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 im im 37/12)
(*.f64 (sqrt.f64 (+.f64 (*.f64 im im) 37/12)) (sqrt.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 im im 37/12)
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (/.f64 1 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) 1) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (+.f64 (fma.f64 im im 13/12) -2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4))
(*.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (/.f64 1 (-.f64 11/12 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im)))
(/.f64 1 (/.f64 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))) (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) 1) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (+.f64 (fma.f64 im im 13/12) -2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4))
(/.f64 1 (/.f64 (-.f64 11/12 (*.f64 im im)) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) 1) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (+.f64 (fma.f64 im im 13/12) -2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 (pow.f64 (fma.f64 im im 13/12) 2) (-.f64 4 (*.f64 2 (fma.f64 im im 13/12)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 (pow.f64 (fma.f64 im im 13/12) 2) (+.f64 4 (*.f64 -2 (fma.f64 im im 13/12)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (+.f64 4 (+.f64 (*.f64 -2 (fma.f64 im im 13/12)) (pow.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)) (neg.f64 (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) 1) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (+.f64 (fma.f64 im im 13/12) -2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4))
(/.f64 (neg.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))) (neg.f64 (-.f64 11/12 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) 2197/1728) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 169/144 (*.f64 (fma.f64 im im 2) 13/12))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) 2197/1728) (-.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) 169/144) (*.f64 13/12 (fma.f64 im im 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) 2197/1728) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 169/144 (*.f64 (fma.f64 im im 2) -13/12))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 13/12) 2) 4) (-.f64 (fma.f64 im im 13/12) 2))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 2) -4) (+.f64 (fma.f64 im im 13/12) -2))
(/.f64 (+.f64 -4 (pow.f64 (fma.f64 im im 13/12) 2)) (+.f64 (*.f64 im im) -11/12))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) 169/144) (-.f64 (fma.f64 im im 2) 13/12))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) -169/144) (+.f64 (fma.f64 im im 2) -13/12))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) -169/144) (+.f64 (*.f64 im im) 11/12))
(pow.f64 (+.f64 (*.f64 im im) 37/12) 1)
(fma.f64 im im 37/12)
(pow.f64 (cbrt.f64 (+.f64 (*.f64 im im) 37/12)) 3)
(fma.f64 im im 37/12)
(pow.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3) 1/3)
(fma.f64 im im 37/12)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 im im) 37/12)) 2)
(fma.f64 im im 37/12)
(sqrt.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 2))
(fma.f64 im im 37/12)
(log.f64 (exp.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 im im 37/12)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 im im) 37/12))))
(fma.f64 im im 37/12)
(cbrt.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3))
(fma.f64 im im 37/12)
(expm1.f64 (log1p.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 im im 37/12)
(exp.f64 (log.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 im im 37/12)
(exp.f64 (*.f64 (log.f64 (+.f64 (*.f64 im im) 37/12)) 1))
(fma.f64 im im 37/12)
(log1p.f64 (expm1.f64 (+.f64 (*.f64 im im) 37/12)))
(fma.f64 im im 37/12)
(fma.f64 1 (fma.f64 im im 13/12) 2)
(fma.f64 im im 37/12)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2) (cbrt.f64 (fma.f64 im im 13/12)) 2)
(fma.f64 im im 37/12)
(fma.f64 (sqrt.f64 (fma.f64 im im 13/12)) (sqrt.f64 (fma.f64 im im 13/12)) 2)
(fma.f64 im im 37/12)
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) 13/12))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 13/12 (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 13/12))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 (fma.f64 im im 13/12) 2)) (*.f64 1/2 (fma.f64 im im 13/12))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (fma.f64 im im 13/12) (cos.f64 re)) 3))) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 (fma.f64 im im 13/12) 2)) (*.f64 1/2 (fma.f64 im im 13/12))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (fma.f64 im im 13/12)) (*.f64 1/2 (fma.f64 im im 13/12))))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12)))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (*.f64 1/4 (pow.f64 (fma.f64 im im 13/12) 2)) (cos.f64 re)))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 13/12)))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (*.f64 1/4 (pow.f64 (fma.f64 im im 13/12) 2)) (cos.f64 re)))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (fma.f64 im im 13/12) (cos.f64 re)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8)) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (+.f64 (fma.f64 im im 13/12) -2))))
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (/.f64 (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2))) (-.f64 11/12 (*.f64 im im)))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (/.f64 (-.f64 11/12 (*.f64 im im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 11/12 (*.f64 im im))) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (-.f64 (fma.f64 im im 13/12) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (*.f64 (fma.f64 im im 13/12) (+.f64 (fma.f64 im im 13/12) -2))))
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 13/12) 3) 8) (/.f64 (fma.f64 (fma.f64 im im 13/12) (+.f64 (*.f64 im im) -11/12) 4) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (*.f64 1/2 (cos.f64 re))) (-.f64 11/12 (*.f64 im im)))
(/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (/.f64 (-.f64 11/12 (*.f64 im im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)) (-.f64 11/12 (*.f64 im im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 11/12 (*.f64 im im))) (-.f64 4 (pow.f64 (fma.f64 im im 13/12) 2)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 3) 1/3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(log.f64 (pow.f64 (exp.f64 (+.f64 (*.f64 im im) 37/12)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12))) 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 (*.f64 im im) 37/12) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (+.f64 (*.f64 im im) 37/12) 3)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 37/12)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 13/12))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 37/12))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 37/12)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 13/12))) 1)
(fma.f64 im im 13/12)
(-.f64 (/.f64 (pow.f64 im 4) (fma.f64 im im -13/12)) (/.f64 169/144 (fma.f64 im im -13/12)))
(+.f64 (/.f64 (pow.f64 im 4) (fma.f64 im im -13/12)) (/.f64 -169/144 (fma.f64 im im -13/12)))
(*.f64 (fma.f64 im im 13/12) 1)
(fma.f64 im im 13/12)
(*.f64 1 (fma.f64 im im 13/12))
(fma.f64 im im 13/12)
(*.f64 (cbrt.f64 (fma.f64 im im 13/12)) (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2))
(fma.f64 im im 13/12)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 2) (cbrt.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(*.f64 (sqrt.f64 (fma.f64 im im 13/12)) (sqrt.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(*.f64 (+.f64 2197/1728 (pow.f64 im 6)) (/.f64 1 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12))))))
(/.f64 (*.f64 (+.f64 2197/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (*.f64 (*.f64 im im) (fma.f64 im im -13/12))))
(*.f64 (+.f64 (pow.f64 im 4) -169/144) (/.f64 1 (fma.f64 im im -13/12)))
(/.f64 (+.f64 (pow.f64 im 4) -169/144) (fma.f64 im im -13/12))
(/.f64 1 (/.f64 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))) (+.f64 2197/1728 (pow.f64 im 6))))
(/.f64 (*.f64 (+.f64 2197/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (*.f64 (*.f64 im im) (fma.f64 im im -13/12))))
(/.f64 1 (/.f64 (fma.f64 im im -13/12) (+.f64 (pow.f64 im 4) -169/144)))
(*.f64 (+.f64 (pow.f64 im 4) -169/144) (/.f64 1 (fma.f64 im im -13/12)))
(/.f64 (+.f64 (pow.f64 im 4) -169/144) (fma.f64 im im -13/12))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (*.f64 (+.f64 2197/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (*.f64 (*.f64 im im) (fma.f64 im im -13/12))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im 13/12)))))
(/.f64 (*.f64 (+.f64 2197/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (*.f64 (*.f64 im im) (fma.f64 im im -13/12))))
(/.f64 (+.f64 (pow.f64 im 4) -169/144) (fma.f64 im im -13/12))
(*.f64 (+.f64 (pow.f64 im 4) -169/144) (/.f64 1 (fma.f64 im im -13/12)))
(/.f64 (neg.f64 (+.f64 2197/1728 (pow.f64 im 6))) (neg.f64 (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12))))))
(/.f64 (*.f64 (+.f64 2197/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 169/144 (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im 13/12)))))
(/.f64 (+.f64 2197/1728 (pow.f64 im 6)) (+.f64 169/144 (*.f64 (*.f64 im im) (fma.f64 im im -13/12))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im 4) -169/144)) (neg.f64 (fma.f64 im im -13/12)))
(*.f64 (+.f64 (pow.f64 im 4) -169/144) (/.f64 1 (fma.f64 im im -13/12)))
(/.f64 (+.f64 (pow.f64 im 4) -169/144) (fma.f64 im im -13/12))
(/.f64 (-.f64 169/144 (pow.f64 im 4)) (-.f64 13/12 (*.f64 im im)))
(*.f64 (+.f64 (pow.f64 im 4) -169/144) (/.f64 1 (fma.f64 im im -13/12)))
(/.f64 (+.f64 (pow.f64 im 4) -169/144) (fma.f64 im im -13/12))
(pow.f64 (fma.f64 im im 13/12) 1)
(fma.f64 im im 13/12)
(pow.f64 (cbrt.f64 (fma.f64 im im 13/12)) 3)
(fma.f64 im im 13/12)
(pow.f64 (pow.f64 (fma.f64 im im 13/12) 3) 1/3)
(fma.f64 im im 13/12)
(pow.f64 (sqrt.f64 (fma.f64 im im 13/12)) 2)
(fma.f64 im im 13/12)
(sqrt.f64 (pow.f64 (fma.f64 im im 13/12) 2))
(fma.f64 im im 13/12)
(log.f64 (exp.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 13/12))))
(fma.f64 im im 13/12)
(cbrt.f64 (pow.f64 (fma.f64 im im 13/12) 3))
(fma.f64 im im 13/12)
(expm1.f64 (log1p.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(exp.f64 (log.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 13/12)) 1))
(fma.f64 im im 13/12)
(log1p.f64 (expm1.f64 (fma.f64 im im 13/12)))
(fma.f64 im im 13/12)
(fma.f64 im im 13/12)
(fma.f64 1 (*.f64 im im) 13/12)
(fma.f64 im im 13/12)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 13/12)

eval146.0ms (1.6%)

Compiler

Compiled 4402 to 2907 computations (34% saved)

prune67.0ms (0.7%)

Pruning

26 alts after pruning (18 fresh and 8 done)

PrunedKeptTotal
New2507257
Fresh11112
Picked235
Done055
Total25326279
Accurracy
100.0%
Counts
279 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.9%
(fma.f64 (*.f64 re re) -1/2 -1)
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
46.4%
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
34.3%
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
3.3%
(+.f64 (cos.f64 re) -2)
47.9%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
38.3%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
13.2%
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
35.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
41.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
75.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
27.8%
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
27.4%
(*.f64 1/2 (fma.f64 im im 37/12))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
27.4%
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
6.2%
(*.f64 1/2 262144)
9.4%
(*.f64 1/2 3/2)
8.2%
(*.f64 1/2 1/2)
7.8%
(*.f64 1/2 1/4)
7.5%
(*.f64 1/2 1/8)
3.5%
(*.f64 1/2 -1)
50.9%
(cos.f64 re)
29.1%
1
3.7%
-1
8.9%
(fma.f64 (*.f64 re re) -1/2 -1)
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
46.4%
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
34.3%
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
3.3%
(+.f64 (cos.f64 re) -2)
47.9%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
38.3%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
13.2%
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
35.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
41.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
75.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
27.8%
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
27.4%
(*.f64 1/2 (fma.f64 im im 37/12))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
27.4%
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
6.2%
(*.f64 1/2 262144)
9.4%
(*.f64 1/2 3/2)
8.2%
(*.f64 1/2 1/2)
7.8%
(*.f64 1/2 1/4)
7.5%
(*.f64 1/2 1/8)
3.5%
(*.f64 1/2 -1)
50.9%
(cos.f64 re)
29.1%
1
3.7%
-1
Compiler

Compiled 752 to 610 computations (18.9% saved)

localize215.0ms (2.4%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
99.7%
(*.f64 (cos.f64 re) 1/5159780352)
98.8%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
100.0%
(+.f64 37/12 (pow.f64 im 2))
Compiler

Compiled 65 to 46 computations (29.2% saved)

series3.0ms (0%)

Counts
3 → 27
Calls

9 calls:

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

rewrite143.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1150×log-prod
620×pow-prod-down
600×pow-prod-up
576×pow-exp
498×expm1-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01441
130137
2338437
Stop Event
node limit
Counts
3 → 92
Calls
Call 1
Inputs
(+.f64 37/12 (pow.f64 im 2))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 (cos.f64 re) 1/5159780352)
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 37/12))) 1)
(-.f64 (/.f64 1369/144 (-.f64 37/12 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 37/12 (*.f64 im im))))
(*.f64 (fma.f64 im im 37/12) 1)
(*.f64 1 (fma.f64 im im 37/12))
(*.f64 (cbrt.f64 (fma.f64 im im 37/12)) (pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 2) (cbrt.f64 (fma.f64 im im 37/12)))
(*.f64 (sqrt.f64 (fma.f64 im im 37/12)) (sqrt.f64 (fma.f64 im im 37/12)))
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(*.f64 (-.f64 1369/144 (pow.f64 im 4)) (/.f64 1 (-.f64 37/12 (*.f64 im im))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144) (+.f64 50653/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (-.f64 37/12 (*.f64 im im)) (-.f64 1369/144 (pow.f64 im 4))))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 1369/144 (*.f64 37/12 (*.f64 im im)))))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 50653/1728 (pow.f64 im 6))) (neg.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (neg.f64 (-.f64 1369/144 (pow.f64 im 4))) (neg.f64 (-.f64 37/12 (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 im 4) 1369/144) (fma.f64 im im -37/12))
(pow.f64 (fma.f64 im im 37/12) 1)
(pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 3)
(pow.f64 (pow.f64 (fma.f64 im im 37/12) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 im im 37/12) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 im im 37/12)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144) (+.f64 50653/1728 (pow.f64 im 6))) -1)
(pow.f64 (/.f64 (-.f64 37/12 (*.f64 im im)) (-.f64 1369/144 (pow.f64 im 4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 im im 37/12) 2))
(log.f64 (exp.f64 (fma.f64 im im 37/12)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 37/12))))
(cbrt.f64 (pow.f64 (fma.f64 im im 37/12) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im 37/12)))
(exp.f64 (log.f64 (fma.f64 im im 37/12)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 37/12)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 im im 37/12)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 im im 37/12))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 im im 37/12))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 im im 37/12))) 2))
(log1p.f64 (expm1.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(fma.f64 (*.f64 im im) 1 37/12)
(fma.f64 1 (*.f64 im im) 37/12)
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) 37/12)
(fma.f64 (*.f64 (cbrt.f64 im) im) (pow.f64 (cbrt.f64 im) 2) 37/12)
(fma.f64 (sqrt.f64 im) (pow.f64 im 3/2) 37/12)
(fma.f64 (pow.f64 im 3/2) (sqrt.f64 im) 37/12)
(fma.f64 (pow.f64 (cbrt.f64 im) 5) (cbrt.f64 im) 37/12)
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904) 1)
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(*.f64 (/.f64 1 (*.f64 (cos.f64 re) 1/5159780352)) (/.f64 1 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -1) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(+.f64 0 (*.f64 (cos.f64 re) 1/5159780352))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) 1)
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) 3)
(pow.f64 (*.f64 1/26623333280885243904 (pow.f64 (cos.f64 re) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) 2)
(sqrt.f64 (*.f64 1/26623333280885243904 (pow.f64 (cos.f64 re) 2)))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))

simplify80.0ms (0.9%)

Algorithm
egg-herbie
Rules
796×fma-def
758×log-prod
618×unswap-sqr
532×distribute-lft-in
510×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02562089
15631983
215931943
359071943
Stop Event
node limit
Counts
119 → 128
Calls
Call 1
Inputs
37/12
(pow.f64 im 2)
(pow.f64 im 2)
26623333280885243904
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (pow.f64 re 2)))
(+.f64 26623333280885243904 (+.f64 (*.f64 17748888853923495936 (pow.f64 re 4)) (*.f64 26623333280885243904 (pow.f64 re 2))))
(+.f64 (*.f64 50288518419449905152/5 (pow.f64 re 6)) (+.f64 26623333280885243904 (+.f64 (*.f64 17748888853923495936 (pow.f64 re 4)) (*.f64 26623333280885243904 (pow.f64 re 2)))))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
1/5159780352
(+.f64 1/5159780352 (*.f64 -1/10319560704 (pow.f64 re 2)))
(+.f64 1/5159780352 (+.f64 (*.f64 -1/10319560704 (pow.f64 re 2)) (*.f64 1/123834728448 (pow.f64 re 4))))
(+.f64 1/5159780352 (+.f64 (*.f64 -1/10319560704 (pow.f64 re 2)) (+.f64 (*.f64 1/123834728448 (pow.f64 re 4)) (*.f64 -1/3715041853440 (pow.f64 re 6)))))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 1/5159780352 (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 37/12))) 1)
(-.f64 (/.f64 1369/144 (-.f64 37/12 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 37/12 (*.f64 im im))))
(*.f64 (fma.f64 im im 37/12) 1)
(*.f64 1 (fma.f64 im im 37/12))
(*.f64 (cbrt.f64 (fma.f64 im im 37/12)) (pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 2) (cbrt.f64 (fma.f64 im im 37/12)))
(*.f64 (sqrt.f64 (fma.f64 im im 37/12)) (sqrt.f64 (fma.f64 im im 37/12)))
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(*.f64 (-.f64 1369/144 (pow.f64 im 4)) (/.f64 1 (-.f64 37/12 (*.f64 im im))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144) (+.f64 50653/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (-.f64 37/12 (*.f64 im im)) (-.f64 1369/144 (pow.f64 im 4))))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 1369/144 (*.f64 37/12 (*.f64 im im)))))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 50653/1728 (pow.f64 im 6))) (neg.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (neg.f64 (-.f64 1369/144 (pow.f64 im 4))) (neg.f64 (-.f64 37/12 (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 im 4) 1369/144) (fma.f64 im im -37/12))
(pow.f64 (fma.f64 im im 37/12) 1)
(pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 3)
(pow.f64 (pow.f64 (fma.f64 im im 37/12) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 im im 37/12) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 im im 37/12)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144) (+.f64 50653/1728 (pow.f64 im 6))) -1)
(pow.f64 (/.f64 (-.f64 37/12 (*.f64 im im)) (-.f64 1369/144 (pow.f64 im 4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 im im 37/12) 2))
(log.f64 (exp.f64 (fma.f64 im im 37/12)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 37/12))))
(cbrt.f64 (pow.f64 (fma.f64 im im 37/12) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im 37/12)))
(exp.f64 (log.f64 (fma.f64 im im 37/12)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 37/12)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 im im 37/12)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 im im 37/12))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 im im 37/12))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 im im 37/12))) 2))
(log1p.f64 (expm1.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(fma.f64 (*.f64 im im) 1 37/12)
(fma.f64 1 (*.f64 im im) 37/12)
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) 37/12)
(fma.f64 (*.f64 (cbrt.f64 im) im) (pow.f64 (cbrt.f64 im) 2) 37/12)
(fma.f64 (sqrt.f64 im) (pow.f64 im 3/2) 37/12)
(fma.f64 (pow.f64 im 3/2) (sqrt.f64 im) 37/12)
(fma.f64 (pow.f64 (cbrt.f64 im) 5) (cbrt.f64 im) 37/12)
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904) 1)
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(*.f64 (/.f64 1 (*.f64 (cos.f64 re) 1/5159780352)) (/.f64 1 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -1) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(+.f64 0 (*.f64 (cos.f64 re) 1/5159780352))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) 1)
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) 3)
(pow.f64 (*.f64 1/26623333280885243904 (pow.f64 (cos.f64 re) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) 2)
(sqrt.f64 (*.f64 1/26623333280885243904 (pow.f64 (cos.f64 re) 2)))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))
Outputs
37/12
(pow.f64 im 2)
(*.f64 im im)
(pow.f64 im 2)
(*.f64 im im)
26623333280885243904
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (pow.f64 re 2)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(fma.f64 26623333280885243904 (*.f64 re re) 26623333280885243904)
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(+.f64 26623333280885243904 (+.f64 (*.f64 17748888853923495936 (pow.f64 re 4)) (*.f64 26623333280885243904 (pow.f64 re 2))))
(+.f64 26623333280885243904 (fma.f64 17748888853923495936 (pow.f64 re 4) (*.f64 26623333280885243904 (*.f64 re re))))
(+.f64 26623333280885243904 (fma.f64 26623333280885243904 (*.f64 re re) (*.f64 17748888853923495936 (pow.f64 re 4))))
(fma.f64 26623333280885243904 (*.f64 re re) (fma.f64 17748888853923495936 (pow.f64 re 4) 26623333280885243904))
(+.f64 (*.f64 50288518419449905152/5 (pow.f64 re 6)) (+.f64 26623333280885243904 (+.f64 (*.f64 17748888853923495936 (pow.f64 re 4)) (*.f64 26623333280885243904 (pow.f64 re 2)))))
(fma.f64 50288518419449905152/5 (pow.f64 re 6) (+.f64 26623333280885243904 (fma.f64 17748888853923495936 (pow.f64 re 4) (*.f64 26623333280885243904 (*.f64 re re)))))
(+.f64 (fma.f64 26623333280885243904 (*.f64 re re) (*.f64 17748888853923495936 (pow.f64 re 4))) (fma.f64 50288518419449905152/5 (pow.f64 re 6) 26623333280885243904))
(fma.f64 50288518419449905152/5 (pow.f64 re 6) (fma.f64 26623333280885243904 (*.f64 re re) (fma.f64 17748888853923495936 (pow.f64 re 4) 26623333280885243904)))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
1/5159780352
(+.f64 1/5159780352 (*.f64 -1/10319560704 (pow.f64 re 2)))
(+.f64 1/5159780352 (*.f64 (*.f64 re re) -1/10319560704))
(fma.f64 (*.f64 re re) -1/10319560704 1/5159780352)
(fma.f64 re (*.f64 re -1/10319560704) 1/5159780352)
(+.f64 1/5159780352 (+.f64 (*.f64 -1/10319560704 (pow.f64 re 2)) (*.f64 1/123834728448 (pow.f64 re 4))))
(+.f64 1/5159780352 (fma.f64 -1/10319560704 (*.f64 re re) (*.f64 (pow.f64 re 4) 1/123834728448)))
(+.f64 1/5159780352 (fma.f64 (*.f64 re re) -1/10319560704 (*.f64 (pow.f64 re 4) 1/123834728448)))
(fma.f64 re (*.f64 re -1/10319560704) (fma.f64 (pow.f64 re 4) 1/123834728448 1/5159780352))
(+.f64 1/5159780352 (+.f64 (*.f64 -1/10319560704 (pow.f64 re 2)) (+.f64 (*.f64 1/123834728448 (pow.f64 re 4)) (*.f64 -1/3715041853440 (pow.f64 re 6)))))
(+.f64 1/5159780352 (fma.f64 -1/10319560704 (*.f64 re re) (fma.f64 1/123834728448 (pow.f64 re 4) (*.f64 (pow.f64 re 6) -1/3715041853440))))
(+.f64 (fma.f64 (*.f64 re re) -1/10319560704 1/5159780352) (fma.f64 (pow.f64 re 4) 1/123834728448 (*.f64 (pow.f64 re 6) -1/3715041853440)))
(+.f64 (fma.f64 (pow.f64 re 6) -1/3715041853440 (*.f64 re (*.f64 re -1/10319560704))) (fma.f64 (pow.f64 re 4) 1/123834728448 1/5159780352))
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(*.f64 1/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 1/5159780352)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 37/12))) 1)
(fma.f64 im im 37/12)
(-.f64 (/.f64 1369/144 (-.f64 37/12 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 37/12 (*.f64 im im))))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -1369/144) (fma.f64 im im -37/12))
(*.f64 (fma.f64 im im 37/12) 1)
(fma.f64 im im 37/12)
(*.f64 1 (fma.f64 im im 37/12))
(fma.f64 im im 37/12)
(*.f64 (cbrt.f64 (fma.f64 im im 37/12)) (pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 2))
(fma.f64 im im 37/12)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 2) (cbrt.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(*.f64 (sqrt.f64 (fma.f64 im im 37/12)) (sqrt.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -37/12)) 1369/144))
(*.f64 (-.f64 1369/144 (pow.f64 im 4)) (/.f64 1 (-.f64 37/12 (*.f64 im im))))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -1369/144) (fma.f64 im im -37/12))
(/.f64 1 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144) (+.f64 50653/1728 (pow.f64 im 6))))
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -37/12)) 1369/144))
(/.f64 1 (/.f64 (-.f64 37/12 (*.f64 im im)) (-.f64 1369/144 (pow.f64 im 4))))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -1369/144) (fma.f64 im im -37/12))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -37/12)) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 1369/144 (*.f64 37/12 (*.f64 im im)))))
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -37/12)) 1369/144))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -1369/144) (fma.f64 im im -37/12))
(/.f64 (neg.f64 (+.f64 50653/1728 (pow.f64 im 6))) (neg.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -37/12)) 1369/144))
(/.f64 (neg.f64 (-.f64 1369/144 (pow.f64 im 4))) (neg.f64 (-.f64 37/12 (*.f64 im im))))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -1369/144) (fma.f64 im im -37/12))
(/.f64 (-.f64 (pow.f64 im 4) 1369/144) (fma.f64 im im -37/12))
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -1369/144) (fma.f64 im im -37/12))
(pow.f64 (fma.f64 im im 37/12) 1)
(fma.f64 im im 37/12)
(pow.f64 (cbrt.f64 (fma.f64 im im 37/12)) 3)
(fma.f64 im im 37/12)
(pow.f64 (pow.f64 (fma.f64 im im 37/12) 2) 1/2)
(fma.f64 im im 37/12)
(pow.f64 (pow.f64 (fma.f64 im im 37/12) 3) 1/3)
(fma.f64 im im 37/12)
(pow.f64 (sqrt.f64 (fma.f64 im im 37/12)) 2)
(fma.f64 im im 37/12)
(pow.f64 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144) (+.f64 50653/1728 (pow.f64 im 6))) -1)
(*.f64 (+.f64 50653/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144)))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -37/12) 1369/144))
(/.f64 (+.f64 50653/1728 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -37/12)) 1369/144))
(pow.f64 (/.f64 (-.f64 37/12 (*.f64 im im)) (-.f64 1369/144 (pow.f64 im 4))) -1)
(/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -1369/144) (fma.f64 im im -37/12))
(sqrt.f64 (pow.f64 (fma.f64 im im 37/12) 2))
(fma.f64 im im 37/12)
(log.f64 (exp.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 37/12))))
(fma.f64 im im 37/12)
(cbrt.f64 (pow.f64 (fma.f64 im im 37/12) 3))
(fma.f64 im im 37/12)
(expm1.f64 (log1p.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(exp.f64 (log.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 37/12)) 1))
(fma.f64 im im 37/12)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 im im 37/12)) 1) 1))
(fma.f64 im im 37/12)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 im im 37/12))) 3))
(fma.f64 im im 37/12)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 im im 37/12))) 1/3))
(fma.f64 im im 37/12)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 im im 37/12))) 2))
(fma.f64 im im 37/12)
(log1p.f64 (expm1.f64 (fma.f64 im im 37/12)))
(fma.f64 im im 37/12)
(fma.f64 im im 37/12)
(fma.f64 (*.f64 im im) 1 37/12)
(fma.f64 im im 37/12)
(fma.f64 1 (*.f64 im im) 37/12)
(fma.f64 im im 37/12)
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) 37/12)
(fma.f64 im im 37/12)
(fma.f64 (*.f64 (cbrt.f64 im) im) (pow.f64 (cbrt.f64 im) 2) 37/12)
(fma.f64 im im 37/12)
(fma.f64 (sqrt.f64 im) (pow.f64 im 3/2) 37/12)
(fma.f64 (pow.f64 im 3/2) (sqrt.f64 im) 37/12)
(fma.f64 (sqrt.f64 im) (pow.f64 im 3/2) 37/12)
(fma.f64 (pow.f64 (cbrt.f64 im) 5) (cbrt.f64 im) 37/12)
(fma.f64 im im 37/12)
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))) 1)
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904) 1)
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216)))
(*.f64 (/.f64 1 (*.f64 (cos.f64 re) 1/5159780352)) (/.f64 1 (*.f64 (cos.f64 re) 1/5159780352)))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 708801874985091845381344307009569161216))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 26623333280885243904))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904))))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -6))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)) 1))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1) -2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)) 1) 1))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2)) 3))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -6)) 1/3))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) -1))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -1) 2))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)))
(/.f64 26623333280885243904 (pow.f64 (cos.f64 re) 2))
(*.f64 26623333280885243904 (pow.f64 (cos.f64 re) -2))
(+.f64 0 (*.f64 (cos.f64 re) 1/5159780352))
(*.f64 (cos.f64 re) 1/5159780352)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))))
(*.f64 (cos.f64 re) 1/5159780352)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) 1)
(*.f64 (cos.f64 re) 1/5159780352)
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1)
(*.f64 (cos.f64 re) 1/5159780352)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) 3)
(*.f64 (cos.f64 re) 1/5159780352)
(pow.f64 (*.f64 1/26623333280885243904 (pow.f64 (cos.f64 re) 2)) 1/2)
(*.f64 (cos.f64 re) 1/5159780352)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3) 1/3)
(*.f64 (cos.f64 re) 1/5159780352)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352)) 2)
(*.f64 (cos.f64 re) 1/5159780352)
(sqrt.f64 (*.f64 1/26623333280885243904 (pow.f64 (cos.f64 re) 2)))
(*.f64 (cos.f64 re) 1/5159780352)
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(*.f64 (cos.f64 re) 1/5159780352)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(*.f64 (cos.f64 re) 1/5159780352)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3))
(*.f64 (cos.f64 re) 1/5159780352)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) 1) 1))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))) 3))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 3)) 1/3))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2))
(*.f64 (cos.f64 re) 1/5159780352)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)

eval41.0ms (0.4%)

Compiler

Compiled 1418 to 1063 computations (25% saved)

prune37.0ms (0.4%)

Pruning

28 alts after pruning (18 fresh and 10 done)

PrunedKeptTotal
New1226128
Fresh11213
Picked325
Done088
Total12628154
Accurracy
100.0%
Counts
154 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.9%
(fma.f64 (*.f64 re re) -1/2 -1)
10.4%
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
5.1%
(pow.f64 1/5159780352 -2)
46.4%
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
34.3%
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
3.3%
(+.f64 (cos.f64 re) -2)
10.4%
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
47.9%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
38.3%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
13.2%
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
35.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
41.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
75.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
27.8%
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
16.3%
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
21.8%
(*.f64 1/2 (*.f64 im im))
9.4%
(*.f64 1/2 3/2)
8.2%
(*.f64 1/2 1/2)
7.8%
(*.f64 1/2 1/4)
7.5%
(*.f64 1/2 1/8)
3.5%
(*.f64 1/2 -1)
50.9%
(cos.f64 re)
5.1%
26623333280885243904
29.1%
1
3.7%
-1
Compiler

Compiled 512 to 367 computations (28.3% saved)

regimes124.0ms (1.4%)

Counts
38 → 1
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Outputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Calls

6 calls:

53.0ms
re
18.0ms
im
15.0ms
(cos.f64 re)
15.0ms
(*.f64 1/2 (cos.f64 re))
10.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 300 to 195 computations (35% saved)

regimes100.0ms (1.1%)

Counts
37 → 1
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

23.0ms
re
19.0ms
im
17.0ms
(cos.f64 re)
16.0ms
(*.f64 1/2 (cos.f64 re))
9.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 289 to 190 computations (34.3% saved)

regimes209.0ms (2.3%)

Counts
36 → 3
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
Outputs
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
Calls

4 calls:

53.0ms
(cos.f64 re)
50.0ms
im
49.0ms
(*.f64 1/2 (cos.f64 re))
46.0ms
re
Results
AccuracySegmentsBranch
91.2%3re
96.6%3im
93.0%4(*.f64 1/2 (cos.f64 re))
93.0%4(cos.f64 re)
Compiler

Compiled 257 to 170 computations (33.9% saved)

regimes97.0ms (1.1%)

Counts
35 → 5
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 re re) 1/4)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
Outputs
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
Calls

1 calls:

89.0ms
im
Results
AccuracySegmentsBranch
96.2%5im
Compiler

Compiled 236 to 156 computations (33.9% saved)

regimes90.0ms (1%)

Counts
33 → 5
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
Outputs
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
Calls

1 calls:

83.0ms
im
Results
AccuracySegmentsBranch
96.1%5im
Compiler

Compiled 200 to 132 computations (34% saved)

regimes235.0ms (2.6%)

Counts
32 → 7
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

101.0ms
im
43.0ms
(cos.f64 re)
43.0ms
(*.f64 1/2 (cos.f64 re))
41.0ms
re
Results
AccuracySegmentsBranch
86.6%3re
88.9%4(*.f64 1/2 (cos.f64 re))
88.9%4(cos.f64 re)
94.6%7im
Compiler

Compiled 205 to 137 computations (33.2% saved)

regimes125.0ms (1.4%)

Counts
31 → 6
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
Outputs
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

80.0ms
im
14.0ms
re
12.0ms
(*.f64 1/2 (cos.f64 re))
12.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
75.3%1re
75.3%1(*.f64 1/2 (cos.f64 re))
75.3%1(cos.f64 re)
85.3%6im
Compiler

Compiled 197 to 131 computations (33.5% saved)

regimes71.0ms (0.8%)

Counts
29 → 1
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 1/144)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) 13/12)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

2 calls:

50.0ms
im
14.0ms
re
Results
AccuracySegmentsBranch
75.3%1re
79.8%4im
Compiler

Compiled 168 to 110 computations (34.5% saved)

regimes235.0ms (2.6%)

Counts
24 → 4
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
Outputs
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(cos.f64 re)
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2)))
Calls

4 calls:

86.0ms
im
69.0ms
(cos.f64 re)
40.0ms
(*.f64 1/2 (cos.f64 re))
35.0ms
re
Results
AccuracySegmentsBranch
78.0%4im
68.6%4(*.f64 1/2 (cos.f64 re))
68.6%4(cos.f64 re)
66.3%3re
Compiler

Compiled 122 to 87 computations (28.7% saved)

regimes81.0ms (0.9%)

Counts
22 → 4
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(cos.f64 re)
(pow.f64 1/5159780352 -2)
(*.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 1/2 (fma.f64 im im 37/12))
(fma.f64 re (*.f64 26623333280885243904 re) 26623333280885243904)
(fma.f64 (*.f64 re re) -1/2 -1)
(*.f64 1/2 (+.f64 37/12 (pow.f64 im 2)))
Outputs
(*.f64 1/2 (*.f64 im im))
(cos.f64 re)
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
Calls

1 calls:

77.0ms
im
Results
AccuracySegmentsBranch
72.4%4im
Compiler

Compiled 93 to 70 computations (24.7% saved)

regimes90.0ms (1%)

Counts
14 → 4
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
Outputs
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 re (*.f64 re -1/2)) 1)
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
Calls

2 calls:

51.0ms
im
36.0ms
re
Results
AccuracySegmentsBranch
53.5%4re
51.2%3im
Compiler

Compiled 58 to 47 computations (19% saved)

regimes42.0ms (0.5%)

Counts
13 → 2
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
Outputs
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re)))
Calls

2 calls:

24.0ms
im
14.0ms
re
Results
AccuracySegmentsBranch
50.1%3im
49.5%2re
Compiler

Compiled 51 to 42 computations (17.6% saved)

regimes10.0ms (0.1%)

Counts
12 → 1
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
Outputs
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
Calls

1 calls:

8.0ms
re
Results
AccuracySegmentsBranch
47.9%1re
Compiler

Compiled 41 to 35 computations (14.6% saved)

regimes106.0ms (1.2%)

Counts
11 → 3
Calls
Call 1
Inputs
-1
1
26623333280885243904
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/8)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 1/2 (*.f64 im im))
Outputs
(*.f64 1/2 (*.f64 im im))
1
(*.f64 1/2 (*.f64 im im))
Calls

2 calls:

58.0ms
im
45.0ms
re
Results
AccuracySegmentsBranch
47.5%3im
31.0%3re
Compiler

Compiled 37 to 33 computations (10.8% saved)

regimes9.0ms (0.1%)

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

1 calls:

7.0ms
im
Results
AccuracySegmentsBranch
29.1%1im
Compiler

Compiled 29 to 28 computations (3.4% saved)

regimes6.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:

2.0ms
im
2.0ms
re
Results
AccuracySegmentsBranch
3.7%1re
3.7%1im
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch79.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
52.0ms
-123.45159389369414
-12.234595347299557
27.0ms
-8.625260714714351e+82
-2.3072846818052238e+79
Results
38.0ms61×body256valid
12.0ms39×body1024infinite
11.0ms78×body256infinite
10.0ms25×body1024valid
3.0ms10×body512valid
2.0ms11×body512infinite
Compiler

Compiled 326 to 266 computations (18.4% saved)

bsearch139.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
8.444331308808021e+74
4.038219269966706e+76
30.0ms
0.0012023679431457904
0.4732762944949469
24.0ms
-123.45159389369414
-12.234595347299557
63.0ms
-8.625260714714351e+82
-2.3072846818052238e+79
Results
58.0ms154×body256infinite
22.0ms61×body1024valid
20.0ms140×body256valid
16.0ms53×body1024infinite
8.0ms23×body512valid
7.0ms33×body512infinite
Compiler

Compiled 824 to 662 computations (19.7% saved)

bsearch119.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
54.0ms
8.444331308808021e+74
4.038219269966706e+76
18.0ms
4.4485827259138496e-10
1.2931713320268896e-9
21.0ms
-123.45159389369414
-12.234595347299557
25.0ms
-8.625260714714351e+82
-2.3072846818052238e+79
Results
51.0ms150×body256infinite
17.0ms120×body256valid
16.0ms54×body1024infinite
16.0ms41×body1024valid
7.0ms36×body512infinite
4.0ms15×body512valid
Compiler

Compiled 612 to 493 computations (19.4% saved)

bsearch208.0ms (2.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
30.0ms
3.869564608149014e+130
1.1077534208525072e+136
44.0ms
1.3830460415281564e+101
2.2667594307936906e+103
23.0ms
4.631539583985695e+61
7.981501985833818e+62
49.0ms
4.4485827259138496e-10
1.2931713320268896e-9
34.0ms
-123.45159389369414
-12.234595347299557
27.0ms
-4.181168780813438e+157
-8.492533158947541e+153
Results
61.0ms132×body1024infinite
49.0ms119×body256valid
44.0ms315×body256infinite
14.0ms39×body1024valid
11.0ms49×body512infinite
4.0ms18×body512valid
Compiler

Compiled 1038 to 810 computations (22% saved)

bsearch137.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
33.0ms
3.869564608149014e+130
1.1077534208525072e+136
24.0ms
1.3830460415281564e+101
2.2667594307936906e+103
30.0ms
13920970108.092848
320271984483376640.0
23.0ms
-1.3615521368727405e+69
-1.1459974099411244e+67
27.0ms
-4.181168780813438e+157
-8.492533158947541e+153
Results
58.0ms174×body1024infinite
56.0ms405×body256infinite
13.0ms61×body512infinite
Compiler

Compiled 1167 to 907 computations (22.3% saved)

bsearch106.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
1.1077534208525072e+136
5.274418581600755e+162
34.0ms
13920970108.092848
320271984483376640.0
34.0ms
-12.234595347299557
-1.0352922194733864e-8
Results
29.0ms73×body1024infinite
26.0ms205×body256infinite
16.0ms38×body1024valid
12.0ms90×body256valid
9.0ms42×body512infinite
4.0ms16×body512valid
Compiler

Compiled 528 to 406 computations (23.1% saved)

bsearch108.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
1.1077534208525072e+136
5.274418581600755e+162
31.0ms
13920970108.092848
320271984483376640.0
38.0ms
-3.4509292761141655e+58
-1.283551228104149e+44
Results
44.0ms311×body256infinite
42.0ms112×body1024infinite
12.0ms57×body512infinite
Compiler

Compiled 503 to 398 computations (20.9% saved)

bsearch163.0ms (1.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
60.0ms
2.7425023143155653e+219
1.1344419575686969e+223
53.0ms
9.5698336069952e+160
3.8197766257263697e+164
50.0ms
-1.3385667231577865e+167
-6.072369944249007e+164
Results
79.0ms184×body1024valid
78.0ms184×body1024infinite
Compiler

Compiled 478 to 382 computations (20.1% saved)

bsearch50.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
50.0ms
7.455026283012914e+177
1.045678886495444e+182
Results
29.0ms64×body1024valid
19.0ms64×body1024infinite
Compiler

Compiled 178 to 142 computations (20.2% saved)

bsearch55.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
32.0ms
0.4732762944949469
2797569.632448879
22.0ms
-123.45159389369414
-12.234595347299557
Results
24.0ms61×body1024valid
20.0ms142×body256valid
5.0ms21×body512valid
2.0ms11×body256infinite
1.0msbody1024infinite
1.0msbody512infinite
Compiler

Compiled 198 to 164 computations (17.2% saved)

simplify34.0ms (0.4%)

Algorithm
egg-herbie
Rules
46×*-commutative
26×+-commutative
10×sub-neg
neg-mul-1
if-if-or-not
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01431376
11891358
22011358
32091354
42121354
52141354
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.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)))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 5944751508129055/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))) (if (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 6092986130857731/4835703278458516698824704) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))))
(if (<=.f64 im -25000000000000000179405788522754207602015370297290077951678193036562665420122085032066651746144047332596643453324190534065020383557367306488183413419278336) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 6092986130857731/4835703278458516698824704) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 789999999999999967152075348218274310192709405948069639650017280) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 139999999999999990570391402012014101040279878954120499602497551495632615299510876417962868570744422400) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 10999999999999999741517216640396125351436536949232878811506057409832573996528422381228585187863114828408559765394467246748372123516928000) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))))))
(if (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))) (if (<=.f64 im -1349999999999999906355496506828360125520427059234156687607193436946432) (*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))) (if (<=.f64 im 18000000000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 139999999999999990570391402012014101040279878954120499602497551495632615299510876417962868570744422400) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 10999999999999999741517216640396125351436536949232878811506057409832573996528422381228585187863114828408559765394467246748372123516928000) (*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(if (<=.f64 im -6530219459687219/4503599627370496) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))) (if (<=.f64 im 175000000000) (cos.f64 re) (if (<=.f64 im 4100000000000000166370594394612757936471915315781835128850914273257996774897279314078262995541606883973462537629643216283294613869656419788917580257820672) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))))))
(if (<=.f64 im -269999999999999999831191136808784394774420104675328) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 960000000000) (cos.f64 re) (if (<=.f64 im 11199999999999999401587830703218157204375973592273176343898407430821985428054374961956996484627573385753388298114008644851739354000992175313944123468152832) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 re -50000000000000001930449714370975720139701025745675219477211914784288695508246371335098695877271585171777875451431577515195663644768354254411583398686815316200363393024) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (if (<=.f64 re 110000000000000002753504906763531856113824457462893369651023279018286819916390330243356086320364721712419346369455698833338410385291096961750110178050783115059658752) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (if (<=.f64 re 72000000000000003756646637396139717359934083199177450424771820609728419799503615475728239688073887407847061692534585887595854990234648282528788174364792277728994704480191095518512931663223014497125932112967095573071003648) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re))))))
(if (<=.f64 re 17000000000000001251361117171062533857148540877409080547538202777794035767141767877442633066228387572704086770220053274303560033537989924914606190972550982482769956471418430423040) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(if (<=.f64 im -25/2) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 3152519739159347/2251799813685248) 1 (*.f64 1/2 (*.f64 im im))))
1
-1
Outputs
(*.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 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 5944751508129055/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))) (if (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (or (<=.f64 im 5944751508129055/36028797018963968) (not (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568))) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (or (<=.f64 im -25/2) (not (or (<=.f64 im 5944751508129055/36028797018963968) (not (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (or (<=.f64 im -25/2) (and (not (<=.f64 im 5944751508129055/36028797018963968)) (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 6092986130857731/4835703278458516698824704) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))))
(if (<=.f64 im -23500000000000001125196417184886418651668608416580533526321403332404400422387712) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 6092986130857731/4835703278458516698824704) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 40000000000000001882405379836218783566238405631466523057114838139592998125568) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))))
(if (<=.f64 im -25000000000000000179405788522754207602015370297290077951678193036562665420122085032066651746144047332596643453324190534065020383557367306488183413419278336) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 6092986130857731/4835703278458516698824704) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 789999999999999967152075348218274310192709405948069639650017280) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 139999999999999990570391402012014101040279878954120499602497551495632615299510876417962868570744422400) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 10999999999999999741517216640396125351436536949232878811506057409832573996528422381228585187863114828408559765394467246748372123516928000) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))))))
(if (<=.f64 im -25000000000000000179405788522754207602015370297290077951678193036562665420122085032066651746144047332596643453324190534065020383557367306488183413419278336) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -25/2) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 6092986130857731/4835703278458516698824704) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 789999999999999967152075348218274310192709405948069639650017280) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 139999999999999990570391402012014101040279878954120499602497551495632615299510876417962868570744422400) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 10999999999999999741517216640396125351436536949232878811506057409832573996528422381228585187863114828408559765394467246748372123516928000) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im)))))))))
(if (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))) (if (<=.f64 im -1349999999999999906355496506828360125520427059234156687607193436946432) (*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))) (if (<=.f64 im 18000000000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 139999999999999990570391402012014101040279878954120499602497551495632615299510876417962868570744422400) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 10999999999999999741517216640396125351436536949232878811506057409832573996528422381228585187863114828408559765394467246748372123516928000) (*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(if (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -1349999999999999906355496506828360125520427059234156687607193436946432) (*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))) (if (<=.f64 im 18000000000) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 139999999999999990570391402012014101040279878954120499602497551495632615299510876417962868570744422400) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 10999999999999999741517216640396125351436536949232878811506057409832573996528422381228585187863114828408559765394467246748372123516928000) (*.f64 1/2 (/.f64 (-.f64 1369/144 (pow.f64 im 4)) (-.f64 37/12 (*.f64 im im)))) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im)))
(if (<=.f64 im -6530219459687219/4503599627370496) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))) (if (<=.f64 im 175000000000) (cos.f64 re) (if (<=.f64 im 4100000000000000166370594394612757936471915315781835128850914273257996774897279314078262995541606883973462537629643216283294613869656419788917580257820672) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 im 1/2))))))
(if (<=.f64 im -6530219459687219/4503599627370496) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im 175000000000) (cos.f64 re) (if (<=.f64 im 4100000000000000166370594394612757936471915315781835128850914273257996774897279314078262995541606883973462537629643216283294613869656419788917580257820672) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))))))
(if (<=.f64 im -269999999999999999831191136808784394774420104675328) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 960000000000) (cos.f64 re) (if (<=.f64 im 11199999999999999401587830703218157204375973592273176343898407430821985428054374961956996484627573385753388298114008644851739354000992175313944123468152832) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 re -50000000000000001930449714370975720139701025745675219477211914784288695508246371335098695877271585171777875451431577515195663644768354254411583398686815316200363393024) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (if (<=.f64 re 110000000000000002753504906763531856113824457462893369651023279018286819916390330243356086320364721712419346369455698833338410385291096961750110178050783115059658752) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (if (<=.f64 re 72000000000000003756646637396139717359934083199177450424771820609728419799503615475728239688073887407847061692534585887595854990234648282528788174364792277728994704480191095518512931663223014497125932112967095573071003648) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re))))))
(if (<=.f64 re -50000000000000001930449714370975720139701025745675219477211914784288695508246371335098695877271585171777875451431577515195663644768354254411583398686815316200363393024) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (if (<=.f64 re 110000000000000002753504906763531856113824457462893369651023279018286819916390330243356086320364721712419346369455698833338410385291096961750110178050783115059658752) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (if (<=.f64 re 72000000000000003756646637396139717359934083199177450424771820609728419799503615475728239688073887407847061692534585887595854990234648282528788174364792277728994704480191095518512931663223014497125932112967095573071003648) (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (+.f64 26623333280885243904 (*.f64 (*.f64 re re) 26623333280885243904)))))
(if (<=.f64 re 17000000000000001251361117171062533857148540877409080547538202777794035767141767877442633066228387572704086770220053274303560033537989924914606190972550982482769956471418430423040) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (+.f64 26623333280885243904 (*.f64 26623333280885243904 (*.f64 re re))))
(if (<=.f64 re 17000000000000001251361117171062533857148540877409080547538202777794035767141767877442633066228387572704086770220053274303560033537989924914606190972550982482769956471418430423040) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (+.f64 26623333280885243904 (*.f64 (*.f64 re re) 26623333280885243904)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(if (<=.f64 im -25/2) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 3152519739159347/2251799813685248) 1 (*.f64 1/2 (*.f64 im im))))
(if (or (<=.f64 im -25/2) (not (<=.f64 im 3152519739159347/2251799813685248))) (*.f64 1/2 (*.f64 im im)) 1)
1
-1
Compiler

Compiled 529 to 363 computations (31.4% saved)

soundness1.8s (19.3%)

Rules
1606×fma-def
1606×fma-def
1464×fma-def
1200×associate-*r*
1200×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01335
13035
27335
313233
419433
534833
679033
7133733
8387933
9440133
10536833
11595233
12698433
01533310
14673142
214082888
364342888
023122
1519122
01663349
13813221
210122877
346932801
01533310
14673142
214082888
364342888
023122
1519122
01663349
13813221
210122877
346932801
023122
1519122
02562089
15631983
215931943
359071943
01663349
13813221
210122877
346932801
023122
1519122
01663349
13813221
210122877
346932801
02562089
15631983
215931943
359071943
01663349
13813221
210122877
346932801
04436402
111796064
246866006
01663349
13813221
210122877
346932801
01441
130137
2338437
02562089
15631983
215931943
359071943
01663349
13813221
210122877
346932801
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 839 to 591 computations (29.6% saved)

end365.0ms (4%)

Compiler

Compiled 1024 to 610 computations (40.4% saved)

Profiling

Loading profile data...