math.cos on complex, real part

Time bar (total: 11.9s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample1.9s (15.7%)

Results
591.0ms1027×body1024valid
368.0ms2553×body256valid
346.0ms1050×body1024infinite
333.0ms2615×body256infinite
120.0ms527×body512valid
97.0ms478×body512infinite
5.0msbody2048valid
1.0msbody2048infinite
Bogosity

preprocess132.0ms (1.1%)

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 (0.9%)

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)

localize95.0ms (0.8%)

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%
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (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 1/2 (exp.f64 im))
Compiler

Compiled 66 to 26 computations (60.6% saved)

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

rewrite39.0ms (0.3%)

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
2558299
Stop Event
unsound
Counts
5 → 82
Calls
Call 1
Inputs
(/.f64 1/2 (exp.f64 im))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(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
(+.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
-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))

simplify82.0ms (0.7%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01533310
14673142
214082888
364332888
Stop Event
node limit
Counts
158 → 120
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)))))
(+.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))))
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)))
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
(+.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
-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 1/2 (fma.f64 -1/12 (pow.f64 im 3) (*.f64 im (+.f64 (*.f64 im 1/4) -1/2))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 (*.f64 im im) (+.f64 1/4 (*.f64 im -1/12))))
(+.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 (*.f64 re re) -1/4 (*.f64 (pow.f64 re 4) 1/48))))
(*.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 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 1/2 (exp.f64 im) (/.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 (fma.f64 (*.f64 re re) -1/4 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.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 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (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 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6)))))
(+.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))
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))))
(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)))
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 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(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 2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 (pow.f64 im 6) 1/360 (*.f64 im im))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(+.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 (*.f64 re re) -1/4 (*.f64 (pow.f64 re 4) 1/48))))
(*.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 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 1/2 (exp.f64 im) (/.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 (fma.f64 (*.f64 re re) -1/4 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.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 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (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 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6)))))
(+.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
(+.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 (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
-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 (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

eval31.0ms (0.3%)

Compiler

Compiled 1730 to 1011 computations (41.6% saved)

prune37.0ms (0.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1119120
Fresh000
Picked112
Done000
Total11210122
Accurracy
100.0%
Counts
122 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
66.5%
(+.f64 (*.f64 1/2 (/.f64 1 (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)))
91.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
78.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
33.4%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/512))
100.0%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
11.7%
(*.f64 2 (cos.f64 re))
66.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
54.7%
(cos.f64 re)
8.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
66.5%
(+.f64 (*.f64 1/2 (/.f64 1 (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)))
91.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
78.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
33.4%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/512))
100.0%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
11.7%
(*.f64 2 (cos.f64 re))
66.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
54.7%
(cos.f64 re)
Compiler

Compiled 414 to 324 computations (21.7% saved)

localize227.0ms (1.9%)

Local Accuracy

Found 8 expressions with local accuracy:

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

Compiled 163 to 82 computations (49.7% saved)

series14.0ms (0.1%)

Counts
8 → 96
Calls

33 calls:

TimeVariablePointExpression
3.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
2.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 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
634×add-sqr-sqrt
618×pow1
616×*-un-lft-identity
596×add-exp-log
596×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02972
165972
Stop Event
node limit
Counts
8 → 288
Calls
Call 1
Inputs
(/.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 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.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))
Outputs
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im

simplify84.0ms (0.7%)

Algorithm
egg-herbie
Rules
1384×distribute-rgt-in
1380×distribute-lft-in
1138×associate-*r*
1100×distribute-rgt-out
986×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01463712
13923522
213563004
352962962
Stop Event
node limit
Counts
384 → 153
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1 im))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 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)))))))
(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))))))
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 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)))
(*.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)))
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
Outputs
1
(+.f64 1 (*.f64 -1 im))
(+.f64 1 (neg.f64 im))
(-.f64 1 im)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (neg.f64 im)))
(-.f64 (*.f64 1/2 (fma.f64 im im 2)) im)
(fma.f64 im (*.f64 im 1/2) (-.f64 1 im))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im))))
(+.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 1/2 (*.f64 im im) (neg.f64 im))))
(+.f64 (-.f64 (*.f64 1/2 (fma.f64 im im 2)) im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))
(fma.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6)) (-.f64 1 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 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (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))) (+.f64 1/2 (*.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 1/2 (/.f64 1 (exp.f64 im))))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 re (*.f64 re -1/4)) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48))))
(+.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 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (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 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 1/2 (exp.f64 im) (/.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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) 1/2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 re (*.f64 re -1/4)) (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 re 6)) 1) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(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 1/2 (*.f64 (cos.f64 re) (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 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.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 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.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))))
(fma.f64 1/2 (fma.f64 im 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 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4))))
(*.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))
(+.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 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im)))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (*.f64 re re) (*.f64 (fma.f64 im im 2) -1/4)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/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 -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 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) (*.f64 (fma.f64 im im 2) -1/4))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re (*.f64 re -1/4)) (*.f64 (pow.f64 re 4) 1/48))))
(+.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 (pow.f64 re 6) (*.f64 (fma.f64 im im 2) -1/1440)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re (*.f64 re -1/4)) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) 1/2)))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re (*.f64 re -1/4)) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 6) -1/1440))))
(*.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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 1/2 (*.f64 (cos.f64 re) (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 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))
(+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12))
(+.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 (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 2 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 (*.f64 (pow.f64 im 6) 1/360))))
(+.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/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 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/4 (*.f64 (*.f64 re re) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 1/2 (+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))) (*.f64 (*.f64 re re) (+.f64 -1/2 (*.f64 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)) -1/4))))
(*.f64 (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12)) (+.f64 1/2 (*.f64 re (*.f64 re -1/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 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))))
(fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))) (fma.f64 1/2 (+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))) (*.f64 (*.f64 re re) (+.f64 -1/2 (*.f64 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)) -1/4)))))
(+.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (+.f64 (*.f64 re (*.f64 re -1/4)) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12)) (+.f64 (*.f64 re (*.f64 re -1/4)) (*.f64 (pow.f64 re 4) 1/48))))
(+.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 (pow.f64 re 4) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))))
(fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))) (fma.f64 1/2 (+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))) (*.f64 (pow.f64 re 6) (+.f64 -1/720 (*.f64 -1/1440 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))))))))
(+.f64 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) 1/2)) (*.f64 (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (+.f64 (*.f64 re (*.f64 re -1/4)) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12)) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12)) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(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 1/2 (*.f64 (cos.f64 re) (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 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (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 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (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))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.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 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 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (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 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (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))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.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 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 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (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 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))))
(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))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/12)
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
-3
-2
-1
-1/2
-1/12
-1/144
0
1/5159780352
1/2985984
1/20736
1/1728
1/512
1/144
1/64
1/16
1/12
1/8
1/4
1/2
1
13/12
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144

eval101.0ms (0.8%)

Compiler

Compiled 2894 to 1890 computations (34.7% saved)

prune44.0ms (0.4%)

Pruning

16 alts after pruning (10 fresh and 6 done)

PrunedKeptTotal
New1458153
Fresh224
Picked055
Done011
Total14716163
Accurracy
100.0%
Counts
163 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
66.5%
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
51.6%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
26.5%
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
91.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
78.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
100.0%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
33.4%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
26.5%
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
11.7%
(*.f64 2 (cos.f64 re))
66.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.4%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
31.9%
(*.f64 1/2 2)
39.7%
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
54.7%
(cos.f64 re)
66.5%
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
51.6%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
26.5%
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
91.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
78.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
100.0%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
33.4%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
26.5%
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
11.7%
(*.f64 2 (cos.f64 re))
66.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.4%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
31.9%
(*.f64 1/2 2)
39.7%
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
54.7%
(cos.f64 re)
Compiler

Compiled 570 to 440 computations (22.8% saved)

localize206.0ms (1.7%)

Local Accuracy

Found 5 expressions with local accuracy:

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

Compiled 90 to 52 computations (42.2% saved)

series7.0ms (0.1%)

Counts
3 → 32
Calls

18 calls:

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

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1478×log-prod
944×pow-prod-down
688×pow-prod-up
600×pow-unpow
592×pow-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01563
130863
2352463
Stop Event
node limit
Counts
3 → 63
Calls
Call 1
Inputs
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 (cos.f64 re) (pow.f64 im 4))
Outputs
(+.f64 0 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 1)
(pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 3)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) 1/2)
(pow.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 3)
(pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/576) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/24)) (*.f64 im im)) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/576))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/24)) (*.f64 im im))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))

simplify93.0ms (0.8%)

Algorithm
egg-herbie
Rules
1780×fma-def
1540×log-prod
1104×unswap-sqr
848×distribute-lft-in
816×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02152699
15082543
216922307
372062307
Stop Event
node limit
Counts
95 → 121
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/17280 (*.f64 (pow.f64 re 6) (pow.f64 im 4))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4))))))
(pow.f64 im 4)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (pow.f64 im 4) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 4))))))
(+.f64 0 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 1)
(pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 3)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) 1/2)
(pow.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 3)
(pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/576) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/24)) (*.f64 im im)) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/576))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/24)) (*.f64 im im))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
Outputs
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/48 (*.f64 (*.f64 im im) (pow.f64 re 4)) (*.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 im im) (+.f64 (*.f64 (*.f64 -1/4 re) re) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (*.f64 im im) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(fma.f64 -1/1440 (*.f64 (*.f64 im im) (pow.f64 re 6)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/48 (*.f64 (*.f64 im im) (pow.f64 re 4)) (*.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 (*.f64 -1/4 re) re) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4))) (fma.f64 -1/1440 (pow.f64 re 6) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 1/24 (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(fma.f64 -1/48 (*.f64 re (*.f64 re (pow.f64 im 4))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 4) 1/576) 1/24)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 re (*.f64 re -1/48)) (fma.f64 (pow.f64 re 4) 1/576 1/24)))
(+.f64 (*.f64 -1/17280 (*.f64 (pow.f64 re 6) (pow.f64 im 4))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4))))))
(fma.f64 -1/17280 (*.f64 (pow.f64 re 6) (pow.f64 im 4)) (fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4))))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 4) 1/576) 1/24)) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 6) -1/17280) (*.f64 (*.f64 re re) -1/48))))
(*.f64 (pow.f64 im 4) (+.f64 (fma.f64 (pow.f64 re 4) 1/576 1/24) (fma.f64 (pow.f64 re 6) -1/17280 (*.f64 re (*.f64 re -1/48)))))
(pow.f64 im 4)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/2) re 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4)))
(fma.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4)))
(+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (*.f64 re re) -1/2))))
(*.f64 (pow.f64 im 4) (+.f64 (fma.f64 (*.f64 re -1/2) re 1) (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (pow.f64 im 4) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 4))))))
(fma.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 4)) (+.f64 (fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 re 6) (pow.f64 im 4)) -1/720)))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 re 6) -1/720) 1) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (*.f64 re re) -1/2))))
(fma.f64 (pow.f64 im 4) (fma.f64 (pow.f64 re 4) 1/24 (*.f64 re (*.f64 re -1/2))) (*.f64 (pow.f64 im 4) (fma.f64 (pow.f64 re 6) -1/720 1)))
(+.f64 0 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (cos.f64 re) (*.f64 1/2 im)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (cos.f64 re) (*.f64 1/2 im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (cos.f64 re) (*.f64 1/2 im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (*.f64 1/2 (cos.f64 re))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (*.f64 1/2 (cos.f64 re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (cos.f64 re) im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 3)
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) 1/2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 (cos.f64 re) 2))))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2))
(pow.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 3) 1/3)
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) 2)
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 (cos.f64 re) 2))))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 (*.f64 im 1/2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) 3))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))) 1) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 3))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))) 1/3))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2)))) 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/24 (pow.f64 im 4)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/24 (pow.f64 im 4)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/24 (pow.f64 im 4)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/24 (pow.f64 im 4))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1)
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 1)
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 3)
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/576) 1/2)
(sqrt.f64 (*.f64 1/576 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8))))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/576 (pow.f64 im 8))))
(fabs.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3) 1/3)
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/24)) (*.f64 im im)) 2)
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/576))
(sqrt.f64 (*.f64 1/576 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8))))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/576 (pow.f64 im 8))))
(fabs.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/24)))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1) 1))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 3))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1/3))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/24)) (*.f64 im im))) 2))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 1)
(*.f64 (cos.f64 re) (pow.f64 im 4))
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 1)
(*.f64 (cos.f64 re) (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 3)
(*.f64 (cos.f64 re) (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)) 1/2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)))
(fabs.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 3) 1/3)
(*.f64 (cos.f64 re) (pow.f64 im 4))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 2)
(*.f64 (cos.f64 re) (pow.f64 im 4))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 8)))
(fabs.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)) 3))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 1))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))) 1) 1))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 3))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 1/3))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (pow.f64 im 4)))) 2))
(*.f64 (cos.f64 re) (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (cos.f64 re) (pow.f64 im 4))

eval95.0ms (0.8%)

Compiler

Compiled 2481 to 1736 computations (30% saved)

prune50.0ms (0.4%)

Pruning

19 alts after pruning (11 fresh and 8 done)

PrunedKeptTotal
New1699178
Fresh325
Picked325
Done066
Total17519194
Accurracy
100.0%
Counts
194 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
66.5%
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
47.5%
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
22.2%
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
50.4%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
31.9%
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
31.9%
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
24.4%
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
91.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
78.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
100.0%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
33.4%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
66.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
21.5%
(*.f64 1/2 (*.f64 im im))
31.9%
(*.f64 1/2 2)
30.8%
(*.f64 1/24 (pow.f64 im 4))
31.9%
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
54.7%
(cos.f64 re)
66.5%
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
47.5%
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
22.2%
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
50.4%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
31.9%
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
31.9%
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
24.4%
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
91.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
78.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
100.0%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
33.4%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
66.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
21.5%
(*.f64 1/2 (*.f64 im im))
31.9%
(*.f64 1/2 2)
30.8%
(*.f64 1/24 (pow.f64 im 4))
31.9%
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
54.7%
(cos.f64 re)
Compiler

Compiled 730 to 570 computations (21.9% saved)

localize137.0ms (1.2%)

Local Accuracy

Found 11 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 (*.f64 re re) -1/2) 1)
100.0%
(*.f64 (*.f64 re re) -1/2)
99.8%
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
86.0%
(*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4))
100.0%
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
100.0%
(+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))
86.0%
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
99.7%
(*.f64 1/2 (*.f64 im im))
100.0%
(+.f64 1/2 (*.f64 re (*.f64 re -1/4)))
100.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
100.0%
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Compiler

Compiled 160 to 89 computations (44.4% saved)

series9.0ms (0.1%)

Counts
10 → 168
Calls

42 calls:

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

rewrite67.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
680×add-sqr-sqrt
654×pow1
652×*-un-lft-identity
636×add-exp-log
636×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036304
1775304
Stop Event
node limit
Counts
10 → 293
Calls
Call 1
Inputs
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(+.f64 1/2 (*.f64 re (*.f64 re -1/4)))
(*.f64 1/2 (*.f64 im im))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(*.f64 (*.f64 re re) -1/2)
(+.f64 (*.f64 (*.f64 re re) -1/2) 1)
Outputs
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
-512
-8
-2
-1
-1/2
-1/4
-1/8
-1/64
-1/512
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
5
6
8
9
16
27
64
256
4096
262144
im
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
-512
-8
-2
-1
-1/2
-1/4
-1/8
-1/64
-1/512
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
5
6
8
9
16
27
64
256
4096
262144
im
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(+.f64 1/2641807540224 (*.f64 re 1/2641807540224))
(+.f64 (*.f64 re 1/2641807540224) 1/2641807540224)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re 1/2641807540224))) -512)
(pow.f64 (*.f64 re 1/2641807540224) -512)
(pow.f64 (*.f64 re 1/2641807540224) 1/3)
(sqrt.f64 (*.f64 re 1/2641807540224))
(fabs.f64 (*.f64 re 1/2641807540224))
(log.f64 (pow.f64 (exp.f64 re) 1/2641807540224))
(log.f64 (+.f64 -512 (expm1.f64 (*.f64 re 1/2641807540224))))
(cbrt.f64 (*.f64 re 1/2641807540224))
(expm1.f64 (log1p.f64 (*.f64 re 1/2641807540224)))
(exp.f64 (log.f64 (*.f64 re 1/2641807540224)))
(exp.f64 (*.f64 (log.f64 (*.f64 re 1/2641807540224)) -512))
(log1p.f64 (expm1.f64 (*.f64 re 1/2641807540224)))
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)

simplify154.0ms (1.3%)

Algorithm
egg-herbie
Rules
1558×associate-+r+
1404×associate-+l+
836×fma-def
828×associate-*r*
724×associate-*l*
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01716383
13755631
29335281
336105279
478265275
Stop Event
node limit
Counts
461 → 189
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 1/12 (*.f64 (pow.f64 im 4) (+.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 1/12 (*.f64 (pow.f64 im 4) (+.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 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 1/360 (*.f64 (pow.f64 im 6) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.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 -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 -1/4 (*.f64 (pow.f64 re 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 -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 -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 -1/4 (*.f64 (pow.f64 re 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 -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 -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 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
1/2
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 -1/4 (pow.f64 re 2))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 -1/4 (pow.f64 re 2))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 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 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 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 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 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 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 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
1/2
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 -1/4 (pow.f64 re 2))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 -1/4 (pow.f64 re 2))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
-1/2
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)) 1/2)
(-.f64 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3)))) 1/2)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(pow.f64 im 4)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
-512
-8
-2
-1
-1/2
-1/4
-1/8
-1/64
-1/512
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
5
6
8
9
16
27
64
256
4096
262144
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
-512
-8
-2
-1
-1/2
-1/4
-1/8
-1/64
-1/512
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
5
6
8
9
16
27
64
256
4096
262144
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(+.f64 1/2641807540224 (*.f64 re 1/2641807540224))
(+.f64 (*.f64 re 1/2641807540224) 1/2641807540224)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re 1/2641807540224))) -512)
(pow.f64 (*.f64 re 1/2641807540224) -512)
(pow.f64 (*.f64 re 1/2641807540224) 1/3)
(sqrt.f64 (*.f64 re 1/2641807540224))
(fabs.f64 (*.f64 re 1/2641807540224))
(log.f64 (pow.f64 (exp.f64 re) 1/2641807540224))
(log.f64 (+.f64 -512 (expm1.f64 (*.f64 re 1/2641807540224))))
(cbrt.f64 (*.f64 re 1/2641807540224))
(expm1.f64 (log1p.f64 (*.f64 re 1/2641807540224)))
(exp.f64 (log.f64 (*.f64 re 1/2641807540224)))
(exp.f64 (*.f64 (log.f64 (*.f64 re 1/2641807540224)) -512))
(log1p.f64 (expm1.f64 (*.f64 re 1/2641807540224)))
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (neg.f64 re))
(+.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (neg.f64 re))
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
(-.f64 re re)
(-.f64 re -512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(/.f64 re re)
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 -512 -512 re)
Outputs
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.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)))
(fma.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im)))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 2 (*.f64 im im)))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (fma.f64 im im 2))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (+.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))))
(fma.f64 1/12 (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (pow.f64 im 4)) (fma.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))))
(fma.f64 1/12 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (pow.f64 im 4)) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 2 (*.f64 im im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (fma.f64 1/12 (pow.f64 im 4) 2) (*.f64 im im)))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) 2)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (+.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 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 1/360 (*.f64 (pow.f64 im 6) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))))))
(fma.f64 1/12 (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (pow.f64 im 4)) (fma.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (fma.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im) (*.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (*.f64 im im) (*.f64 1/360 (pow.f64 im 6)))) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2)))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))) (fma.f64 1/12 (pow.f64 im 4) 2)))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (fma.f64 1/12 (pow.f64 im 4) 2) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/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))))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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/4 (*.f64 re re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (*.f64 re (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 -1/4 (*.f64 (*.f64 re re) (+.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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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/4 (*.f64 re re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (*.f64 re (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 -1/4 (*.f64 (*.f64 re re) (+.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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 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 -1/4 (*.f64 re re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1/2
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(*.f64 -1/4 (*.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(*.f64 -1/4 (*.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (*.f64 im im))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
1/2
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
(+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) 1/2)
-1/2
(-.f64 (*.f64 1/2 im) 1/2)
(fma.f64 1/2 im -1/2)
(-.f64 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)) 1/2)
(+.f64 (*.f64 (*.f64 im im) 1/4) (fma.f64 1/2 im -1/2))
(fma.f64 (*.f64 im im) 1/4 (fma.f64 1/2 im -1/2))
(fma.f64 1/2 im (fma.f64 im (*.f64 im 1/4) -1/2))
(fma.f64 im (+.f64 1/2 (*.f64 im 1/4)) -1/2)
(-.f64 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3)))) 1/2)
(+.f64 (fma.f64 1/4 (*.f64 im im) (fma.f64 1/2 im (*.f64 1/12 (pow.f64 im 3)))) -1/2)
(+.f64 -1/2 (fma.f64 (*.f64 im im) 1/4 (fma.f64 1/2 im (*.f64 1/12 (pow.f64 im 3)))))
(fma.f64 im (*.f64 im 1/4) (fma.f64 1/2 im (fma.f64 1/12 (pow.f64 im 3) -1/2)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(fma.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12)))) -1/2)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(fma.f64 1/2 (exp.f64 im) -1)
(pow.f64 im 4)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(*.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)))
(*.f64 (*.f64 re re) (*.f64 -1/2 (pow.f64 im 4)))
(*.f64 re (*.f64 re (*.f64 (pow.f64 im 4) -1/2)))
(*.f64 re (*.f64 (*.f64 re -1/2) (pow.f64 im 4)))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(*.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)))
(*.f64 (*.f64 re re) (*.f64 -1/2 (pow.f64 im 4)))
(*.f64 re (*.f64 re (*.f64 (pow.f64 im 4) -1/2)))
(*.f64 re (*.f64 (*.f64 re -1/2) (pow.f64 im 4)))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(+.f64 (pow.f64 im 4) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (pow.f64 im 4)) (pow.f64 im 4))
(*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (pow.f64 im 4))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(*.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)) -1/48)
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (pow.f64 im 4) (*.f64 re (*.f64 re -1/48)))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4)))
(*.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)) -1/48)
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (pow.f64 im 4) (*.f64 re (*.f64 re -1/48)))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (*.f64 re re) (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48)))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (fma.f64 -512 (neg.f64 re) re))
(*.f64 re 514)
(+.f64 re (neg.f64 re))
0
(+.f64 -512 re)
(+.f64 re -512)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (*.f64 re (neg.f64 re)))
(-.f64 -512 (*.f64 re re))
(+.f64 -512 (neg.f64 re))
(-.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(+.f64 -512 (*.f64 -512 (neg.f64 re)))
(+.f64 -512 (*.f64 re 512))
(fma.f64 re 512 -512)
(-.f64 re re)
0
(-.f64 re -512)
(+.f64 re 512)
(-.f64 -512 re)
(/.f64 re re)
1
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -512)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
(fabs.f64 re)
re
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -512))
(pow.f64 re -512)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(*.f64 re (+.f64 re -1))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 re -512 -512)
(fma.f64 -512 -512 re)
(+.f64 262144 re)
(+.f64 re 262144)
(-.f64 re re)
0
(-.f64 re -512)
(+.f64 re 512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(*.f64 re -512)
(/.f64 re re)
1
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -512)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
(fabs.f64 re)
re
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -512))
(pow.f64 re -512)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(*.f64 re (+.f64 re -1))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 re -512 -512)
(fma.f64 -512 -512 re)
(+.f64 262144 re)
(+.f64 re 262144)
-512
-8
-2
-1
-1/2
-1/4
-1/8
-1/64
-1/512
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
5
6
8
9
16
27
64
256
4096
262144
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (fma.f64 -512 (neg.f64 re) re))
(*.f64 re 514)
(+.f64 re (neg.f64 re))
0
(+.f64 -512 re)
(+.f64 re -512)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (*.f64 re (neg.f64 re)))
(-.f64 -512 (*.f64 re re))
(+.f64 -512 (neg.f64 re))
(-.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(+.f64 -512 (*.f64 -512 (neg.f64 re)))
(+.f64 -512 (*.f64 re 512))
(fma.f64 re 512 -512)
(-.f64 re re)
0
(-.f64 re -512)
(+.f64 re 512)
(-.f64 -512 re)
(/.f64 re re)
1
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -512)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
(fabs.f64 re)
re
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -512))
(pow.f64 re -512)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(*.f64 re (+.f64 re -1))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 re -512 -512)
(fma.f64 -512 -512 re)
(+.f64 262144 re)
(+.f64 re 262144)
(-.f64 re re)
0
(-.f64 re -512)
(+.f64 re 512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(*.f64 re -512)
(/.f64 re re)
1
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -512)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
(fabs.f64 re)
re
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -512))
(pow.f64 re -512)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(*.f64 re (+.f64 re -1))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 re -512 -512)
(fma.f64 -512 -512 re)
(+.f64 262144 re)
(+.f64 re 262144)
-512
-8
-2
-1
-1/2
-1/4
-1/8
-1/64
-1/512
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
5
6
8
9
16
27
64
256
4096
262144
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (fma.f64 -512 (neg.f64 re) re))
(*.f64 re 514)
(+.f64 re (neg.f64 re))
0
(+.f64 -512 re)
(+.f64 re -512)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (*.f64 re (neg.f64 re)))
(-.f64 -512 (*.f64 re re))
(+.f64 -512 (neg.f64 re))
(-.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(+.f64 -512 (*.f64 -512 (neg.f64 re)))
(+.f64 -512 (*.f64 re 512))
(fma.f64 re 512 -512)
(-.f64 re re)
0
(-.f64 re -512)
(+.f64 re 512)
(-.f64 -512 re)
(/.f64 re re)
1
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -512)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
(fabs.f64 re)
re
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -512))
(pow.f64 re -512)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(*.f64 re (+.f64 re -1))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 re -512 -512)
(fma.f64 -512 -512 re)
(+.f64 262144 re)
(+.f64 re 262144)
(+.f64 1/2641807540224 (*.f64 re 1/2641807540224))
(fma.f64 re 1/2641807540224 1/2641807540224)
(+.f64 (*.f64 re 1/2641807540224) 1/2641807540224)
(fma.f64 re 1/2641807540224 1/2641807540224)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re 1/2641807540224))) -512)
(+.f64 (exp.f64 (log1p.f64 (*.f64 re 1/2641807540224))) 512)
(pow.f64 (*.f64 re 1/2641807540224) -512)
(*.f64 (pow.f64 re -512) 1031339869656042770462666398463678116138530815176545460136027594390123337825196168754680265420140073395544363891826238982533448898163431946124519218649914052122284358480308623238909692966953090477358642788434332976278753062379874857129760518884438059523779038778376562475968728271555620876912167719814111296666955381815532960427086780318254094763546563051356057780569828494174637891809325493561645737665782713363543712635440823708865918424340190158341815428316171627377574668462991238158390192250288897693135320473913674527581516101850765018020945336371710885560793696047772840980718025488430771940516729052954134294224548997935290905627120059628061372849553926443285699152131429058310354517277602034405915767912448128458460559978592110117990962576992128299920434114042223733016352410174167951420702597662858670032887809768893513898812012285190347328554154134975462033278021221469611360796720747494910814094911220810308594339817210950905170346170595674423395128784110581534241044598578748038882684352725307780291997689441458187397004297118515059250598919277339210108388022611706393437538128353998906526144463843879428155297835651289359101849986499460875359873392738643076481902119677111712668985894999519246284931499144468972335671357809037946503160037324608746698303579629805525423386924079369578111504721924519054325515150936901494177418404595174443228973725657775470255148135756769611995308933122652267542231203091052743943221234789851317121551056376367470790777126504539583548663036560738709181616909174425845918357207021543937863706379375448045456424397207822553196862824393570563444634878817458513875698915660856535273617645666138648150904590243113447782325524134164745722969398260860955098328737347926389013864754288636499323745989931841743719483566816830364495850690668176313402388378309764206186145546317517402363555426629280470807627170919881900155878553020982072191943402167890350668275916364528496233013913369485624242661597311332333742652179111068772405376064923285598656580640523473723064178468889549223883619143796068297671481885945534669021025279534501005949291527092666344107614676383640845666060369427171208354750476636054899942435470225123195044534587735009766930675526210223535407188246662054885678501870413510505401193450757502911367228020289211501310875205482050720331461440522842814849224156600057064725522122756731976076840804464824340691981901796857583540082150178175557815692463186950522100479244805412728558859469980786389462421728536049084514044672892900930369353650882142743789838226614297297798135025839279803294671125185717686347187516816512856088422940581269381778621441316729411613010005808351953674975838963603624530358115442890679628438651869941942275192619959803770462328735351681979108318532363198511988199999391223225564664430552227544074808783299187344234524059956256643908535741581653497194465540372262837168089979474668832713532352497734116826839887008487391253311245758856933414481672828183427697528757526048637289715648182510401911944267433599930163169023657720832652696269158011415058599394633237961857856908326372349549506233347503146929076157556566970227909111584068399926979517569792294754397175394814439800407395150296464275613451883538138247985285094324859524339114789411198629612061147291954261759621367722008655405139612503259223021968155006235255024494733371872492501050318156591696064541233208183010803047568614146717318018440912021754817214797228647839376065271680020647075571270115537879491063954399514405632161824694756461873353171065513092890235901593947939031264195612057028015668207240363281582051589235612779547145789280428612791931503117977813002257440908556085887763749599381855318255284595692237343948198661585989005660571439446997117716633452961401810637200222483199820570497505524063091687236213147207567292787579236335628599536015864418118698125411427282309488829282722351615240128624699939394477476952116196673746197648345884666349144455159330778289674820738191218940113394447823790318018391182126338564280855452410910969418652594231010109712950398975741581046192175316664599122864149786932890198880442597190518972027946352075441835372963414097339857483177290642023471352819388615148077044470185948689659109305929800867432290062024018710318107062673440914275364470153746050639649607593652715962714926494555095519392403668860584201488805287537084453680941711845513705959735723309852107654290566943398558769166076651422358089037492575314697669790324981780556977261373494881149514144535205579434945376141533006332307040369940593777669554848484620738288293415974832631899246858292742738343551332346130712813128872077903638411530572063476479276736525140360645998567591450875920493283783132710557074999451630011151333896586856997954576567719387687474351840208470786651964928807906670105171166123224523608286556105364155792409912334996350184244088830892611949981955824744455049583768675777003765507258918013801523586597836262266165419498349170543181296384532597260547088444963645755289408843415620359121394621134953285085419968833129092593831811419093649054957555557923824448086205665648390509436805333115897830666146335195604987862956066175822385936414669755848843040528610569352758710573270007443974206022513361109696441849844846292929209384566861207924192530563955366828837229814980483717539103941604580255639239616874314625662979435289240171087787550736859228119329374683807091676978876441010525316607863955239353646460270331096143262096521723141406864488801501165305003732364843718620718203306694259944356282994175247501459887313226386214933461792173801438760836160718445767493931966735983767753944685657292419613307098394861410174721401925916217728305656210491558757637449881958571198700087530650910026256525404946315722644989846470826141109310804105556559933513313315615551349102915952120960713938514442026097648619134214804423863934164364700558933064526821626220481733092575910628894631408451172152925105357552626919814623376431927011949468561030173471423690665122357185457120916600286296663162165887452817500080721911454101676384744991119463513544248887257363563149191886482545824101281260589291717864808131278777885610331811303638170413528328588549224642248686645714899466780713722920092024621008641756743551558493777271508703424142231142453483087174189558236660811244179533096472046130978172367131719415674973208681910448589680636501172496419347062964745199993070807693927670080984817074176)
(pow.f64 (*.f64 re 1/2641807540224) 1/3)
(cbrt.f64 (*.f64 re 1/2641807540224))
(sqrt.f64 (*.f64 re 1/2641807540224))
(fabs.f64 (*.f64 re 1/2641807540224))
(*.f64 (fabs.f64 re) 1/2641807540224)
(*.f64 re 1/2641807540224)
(log.f64 (pow.f64 (exp.f64 re) 1/2641807540224))
(*.f64 (fabs.f64 re) 1/2641807540224)
(*.f64 re 1/2641807540224)
(log.f64 (+.f64 -512 (expm1.f64 (*.f64 re 1/2641807540224))))
(cbrt.f64 (*.f64 re 1/2641807540224))
(expm1.f64 (log1p.f64 (*.f64 re 1/2641807540224)))
(*.f64 (fabs.f64 re) 1/2641807540224)
(*.f64 re 1/2641807540224)
(exp.f64 (log.f64 (*.f64 re 1/2641807540224)))
(*.f64 (fabs.f64 re) 1/2641807540224)
(*.f64 re 1/2641807540224)
(exp.f64 (*.f64 (log.f64 (*.f64 re 1/2641807540224)) -512))
(pow.f64 (*.f64 re 1/2641807540224) -512)
(*.f64 (pow.f64 re -512) 1031339869656042770462666398463678116138530815176545460136027594390123337825196168754680265420140073395544363891826238982533448898163431946124519218649914052122284358480308623238909692966953090477358642788434332976278753062379874857129760518884438059523779038778376562475968728271555620876912167719814111296666955381815532960427086780318254094763546563051356057780569828494174637891809325493561645737665782713363543712635440823708865918424340190158341815428316171627377574668462991238158390192250288897693135320473913674527581516101850765018020945336371710885560793696047772840980718025488430771940516729052954134294224548997935290905627120059628061372849553926443285699152131429058310354517277602034405915767912448128458460559978592110117990962576992128299920434114042223733016352410174167951420702597662858670032887809768893513898812012285190347328554154134975462033278021221469611360796720747494910814094911220810308594339817210950905170346170595674423395128784110581534241044598578748038882684352725307780291997689441458187397004297118515059250598919277339210108388022611706393437538128353998906526144463843879428155297835651289359101849986499460875359873392738643076481902119677111712668985894999519246284931499144468972335671357809037946503160037324608746698303579629805525423386924079369578111504721924519054325515150936901494177418404595174443228973725657775470255148135756769611995308933122652267542231203091052743943221234789851317121551056376367470790777126504539583548663036560738709181616909174425845918357207021543937863706379375448045456424397207822553196862824393570563444634878817458513875698915660856535273617645666138648150904590243113447782325524134164745722969398260860955098328737347926389013864754288636499323745989931841743719483566816830364495850690668176313402388378309764206186145546317517402363555426629280470807627170919881900155878553020982072191943402167890350668275916364528496233013913369485624242661597311332333742652179111068772405376064923285598656580640523473723064178468889549223883619143796068297671481885945534669021025279534501005949291527092666344107614676383640845666060369427171208354750476636054899942435470225123195044534587735009766930675526210223535407188246662054885678501870413510505401193450757502911367228020289211501310875205482050720331461440522842814849224156600057064725522122756731976076840804464824340691981901796857583540082150178175557815692463186950522100479244805412728558859469980786389462421728536049084514044672892900930369353650882142743789838226614297297798135025839279803294671125185717686347187516816512856088422940581269381778621441316729411613010005808351953674975838963603624530358115442890679628438651869941942275192619959803770462328735351681979108318532363198511988199999391223225564664430552227544074808783299187344234524059956256643908535741581653497194465540372262837168089979474668832713532352497734116826839887008487391253311245758856933414481672828183427697528757526048637289715648182510401911944267433599930163169023657720832652696269158011415058599394633237961857856908326372349549506233347503146929076157556566970227909111584068399926979517569792294754397175394814439800407395150296464275613451883538138247985285094324859524339114789411198629612061147291954261759621367722008655405139612503259223021968155006235255024494733371872492501050318156591696064541233208183010803047568614146717318018440912021754817214797228647839376065271680020647075571270115537879491063954399514405632161824694756461873353171065513092890235901593947939031264195612057028015668207240363281582051589235612779547145789280428612791931503117977813002257440908556085887763749599381855318255284595692237343948198661585989005660571439446997117716633452961401810637200222483199820570497505524063091687236213147207567292787579236335628599536015864418118698125411427282309488829282722351615240128624699939394477476952116196673746197648345884666349144455159330778289674820738191218940113394447823790318018391182126338564280855452410910969418652594231010109712950398975741581046192175316664599122864149786932890198880442597190518972027946352075441835372963414097339857483177290642023471352819388615148077044470185948689659109305929800867432290062024018710318107062673440914275364470153746050639649607593652715962714926494555095519392403668860584201488805287537084453680941711845513705959735723309852107654290566943398558769166076651422358089037492575314697669790324981780556977261373494881149514144535205579434945376141533006332307040369940593777669554848484620738288293415974832631899246858292742738343551332346130712813128872077903638411530572063476479276736525140360645998567591450875920493283783132710557074999451630011151333896586856997954576567719387687474351840208470786651964928807906670105171166123224523608286556105364155792409912334996350184244088830892611949981955824744455049583768675777003765507258918013801523586597836262266165419498349170543181296384532597260547088444963645755289408843415620359121394621134953285085419968833129092593831811419093649054957555557923824448086205665648390509436805333115897830666146335195604987862956066175822385936414669755848843040528610569352758710573270007443974206022513361109696441849844846292929209384566861207924192530563955366828837229814980483717539103941604580255639239616874314625662979435289240171087787550736859228119329374683807091676978876441010525316607863955239353646460270331096143262096521723141406864488801501165305003732364843718620718203306694259944356282994175247501459887313226386214933461792173801438760836160718445767493931966735983767753944685657292419613307098394861410174721401925916217728305656210491558757637449881958571198700087530650910026256525404946315722644989846470826141109310804105556559933513313315615551349102915952120960713938514442026097648619134214804423863934164364700558933064526821626220481733092575910628894631408451172152925105357552626919814623376431927011949468561030173471423690665122357185457120916600286296663162165887452817500080721911454101676384744991119463513544248887257363563149191886482545824101281260589291717864808131278777885610331811303638170413528328588549224642248686645714899466780713722920092024621008641756743551558493777271508703424142231142453483087174189558236660811244179533096472046130978172367131719415674973208681910448589680636501172496419347062964745199993070807693927670080984817074176)
(log1p.f64 (expm1.f64 (*.f64 re 1/2641807540224)))
(*.f64 (fabs.f64 re) 1/2641807540224)
(*.f64 re 1/2641807540224)
(+.f64 re re)
(+.f64 re -512)
(+.f64 re (fma.f64 (neg.f64 re) -512 re))
(+.f64 re (fma.f64 -512 (neg.f64 re) re))
(*.f64 re 514)
(+.f64 re (neg.f64 re))
0
(+.f64 -512 re)
(+.f64 re -512)
(+.f64 -512 (*.f64 (neg.f64 re) re))
(+.f64 -512 (*.f64 re (neg.f64 re)))
(-.f64 -512 (*.f64 re re))
(+.f64 -512 (neg.f64 re))
(-.f64 -512 re)
(+.f64 -512 (*.f64 (neg.f64 re) -512))
(+.f64 -512 (*.f64 -512 (neg.f64 re)))
(+.f64 -512 (*.f64 re 512))
(fma.f64 re 512 -512)
(-.f64 re re)
0
(-.f64 re -512)
(+.f64 re 512)
(-.f64 -512 re)
(/.f64 re re)
1
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -512)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
(fabs.f64 re)
re
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -512))
(pow.f64 re -512)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(*.f64 re (+.f64 re -1))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 re -512 -512)
(fma.f64 -512 -512 re)
(+.f64 262144 re)
(+.f64 re 262144)
(-.f64 re re)
0
(-.f64 re -512)
(+.f64 re 512)
(-.f64 -512 re)
(*.f64 re re)
(*.f64 re -512)
(*.f64 -512 re)
(*.f64 re -512)
(/.f64 re re)
1
(/.f64 -512 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -512)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
(fabs.f64 re)
re
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(hypot.f64 -512 re)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -512))
(pow.f64 re -512)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re re)
(fma.f64 re re -512)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(*.f64 re (+.f64 re -1))
(fma.f64 re -512 -512)
(fma.f64 -512 re -512)
(fma.f64 re -512 -512)
(fma.f64 -512 -512 re)
(+.f64 262144 re)
(+.f64 re 262144)

eval68.0ms (0.6%)

Compiler

Compiled 1765 to 1153 computations (34.7% saved)

prune133.0ms (1.1%)

Pruning

42 alts after pruning (33 fresh and 9 done)

PrunedKeptTotal
New17430204
Fresh336
Picked415
Done088
Total18142223
Accurracy
100.0%
Counts
223 → 42
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.5%
(pow.f64 re -512)
2.9%
(/.f64 -512 re)
8.4%
(-.f64 (*.f64 re re) re)
22.2%
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
4.9%
(-.f64 (*.f64 1/2 im) 1/2)
6.3%
(-.f64 -512 (*.f64 re re))
1.9%
(-.f64 -512 re)
66.5%
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
47.5%
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
5.8%
(+.f64 re 262144)
34.4%
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
50.4%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
22.2%
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
10.1%
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
30.8%
(*.f64 (pow.f64 im 4) 1/24)
26.3%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -512))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
91.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
78.2%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
100.0%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
33.4%
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
3.5%
(*.f64 re 514)
66.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
21.5%
(*.f64 1/2 (*.f64 im im))
31.9%
(*.f64 1/2 2)
10.6%
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
12.6%
(log1p.f64 (expm1.f64 re))
54.7%
(cos.f64 re)
3.1%
re
6.4%
262144
7.2%
256
7.4%
64
9.5%
3/2
9.7%
3/4
8.5%
1/4
8.1%
1/8
7.5%
1/64
3.7%
-1/8
3.8%
-1/4
3.9%
-1/2
4.1%
-1
3.1%
-512
Compiler

Compiled 682 to 477 computations (30.1% saved)

regimes139.0ms (1.2%)

Counts
58 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -512))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/512))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (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) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Outputs
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
Calls

6 calls:

33.0ms
im
28.0ms
re
23.0ms
(cos.f64 re)
20.0ms
(*.f64 1/2 (cos.f64 re))
15.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 409 to 256 computations (37.4% saved)

regimes125.0ms (1%)

Counts
56 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -512))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/512))
(*.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:

26.0ms
re
25.0ms
im
21.0ms
(cos.f64 re)
20.0ms
(*.f64 1/2 (cos.f64 re))
14.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 384 to 243 computations (36.7% saved)

regimes294.0ms (2.5%)

Counts
55 → 2
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -512))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/512))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
Calls

4 calls:

97.0ms
im
71.0ms
re
39.0ms
(*.f64 1/2 (cos.f64 re))
37.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
96.1%3re
98.4%4im
95.8%2(*.f64 1/2 (cos.f64 re))
95.8%2(cos.f64 re)
Compiler

Compiled 352 to 223 computations (36.6% saved)

regimes217.0ms (1.8%)

Counts
53 → 4
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -512))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
Outputs
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
Calls

3 calls:

95.0ms
im
71.0ms
(*.f64 1/2 (cos.f64 re))
40.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
98.2%4im
90.1%2(*.f64 1/2 (cos.f64 re))
90.1%2(cos.f64 re)
Compiler

Compiled 325 to 207 computations (36.3% saved)

regimes99.0ms (0.8%)

Counts
51 → 4
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -512))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
Outputs
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.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 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im))))
Calls

1 calls:

88.0ms
im
Results
AccuracySegmentsBranch
98.2%4im
Compiler

Compiled 290 to 186 computations (35.9% saved)

regimes201.0ms (1.7%)

Counts
50 → 5
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -512))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
Outputs
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.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 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
Calls

2 calls:

125.0ms
im
64.0ms
re
Results
AccuracySegmentsBranch
90.1%3re
97.7%5im
Compiler

Compiled 282 to 181 computations (35.8% saved)

regimes140.0ms (1.2%)

Counts
47 → 5
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
Outputs
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(pow.f64 re -512)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
Calls

1 calls:

131.0ms
im
Results
AccuracySegmentsBranch
96.5%5im
Compiler

Compiled 251 to 164 computations (34.7% saved)

regimes239.0ms (2%)

Counts
46 → 6
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 (*.f64 re re) -1/2) 1) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (+.f64 (-.f64 1 im) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6))))) (*.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
Outputs
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24))
(pow.f64 re -512)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
Calls

4 calls:

133.0ms
im
59.0ms
re
21.0ms
(cos.f64 re)
16.0ms
(*.f64 1/2 (cos.f64 re))
Results
AccuracySegmentsBranch
80.7%3re
78.2%1(*.f64 1/2 (cos.f64 re))
78.2%1(cos.f64 re)
94.2%6im
Compiler

Compiled 256 to 169 computations (34% saved)

regimes89.0ms (0.7%)

Counts
40 → 5
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Outputs
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(pow.f64 re -512)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
Calls

1 calls:

82.0ms
im
Results
AccuracySegmentsBranch
91.9%5im
Compiler

Compiled 178 to 116 computations (34.8% saved)

regimes86.0ms (0.7%)

Counts
39 → 5
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 -2) (*.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 im 4) (*.f64 (*.f64 re re) -1/48))
Outputs
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(pow.f64 re -512)
(cos.f64 re)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
Calls

1 calls:

78.0ms
im
Results
AccuracySegmentsBranch
91.4%5im
Compiler

Compiled 168 to 111 computations (33.9% saved)

regimes164.0ms (1.4%)

Counts
35 → 4
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
Outputs
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(pow.f64 re -512)
(cos.f64 re)
(-.f64 (*.f64 1/2 (exp.f64 im)) 1)
Calls

1 calls:

158.0ms
im
Results
AccuracySegmentsBranch
87.6%4im
Compiler

Compiled 135 to 92 computations (31.9% saved)

regimes121.0ms (1%)

Counts
34 → 5
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (pow.f64 im 4) 1/24)
Outputs
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(pow.f64 re -512)
(cos.f64 re)
(pow.f64 re -512)
(*.f64 1/24 (pow.f64 im 4))
Calls

1 calls:

114.0ms
im
Results
AccuracySegmentsBranch
86.4%5im
Compiler

Compiled 129 to 87 computations (32.6% saved)

regimes150.0ms (1.3%)

Counts
32 → 5
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
(pow.f64 re -512)
(*.f64 2 (cos.f64 re))
Outputs
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(pow.f64 re -512)
(cos.f64 re)
(pow.f64 re -512)
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
Calls

1 calls:

145.0ms
im
Results
AccuracySegmentsBranch
85.6%5im
Compiler

Compiled 119 to 79 computations (33.6% saved)

regimes269.0ms (2.3%)

Counts
30 → 3
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
(cos.f64 re)
Outputs
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(cos.f64 re)
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
Calls

3 calls:

202.0ms
im
41.0ms
re
21.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
68.3%3re
67.9%2(cos.f64 re)
78.7%3im
Compiler

Compiled 119 to 80 computations (32.8% saved)

regimes140.0ms (1.2%)

Counts
29 → 3
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
Outputs
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))
Calls

2 calls:

78.0ms
im
55.0ms
re
Results
AccuracySegmentsBranch
55.3%4re
56.4%3im
Compiler

Compiled 113 to 76 computations (32.7% saved)

regimes102.0ms (0.9%)

Counts
28 → 4
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
Outputs
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re)))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
Calls

1 calls:

48.0ms
im
Results
AccuracySegmentsBranch
55.8%4im
Compiler

Compiled 97 to 64 computations (34% saved)

regimes243.0ms (2%)

Counts
27 → 4
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(+.f64 1 (*.f64 (*.f64 -1/4 (*.f64 re re)) 2))
Outputs
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im))))
(-.f64 (*.f64 re re) re)
Calls

2 calls:

125.0ms
im
113.0ms
re
Results
AccuracySegmentsBranch
55.0%4re
54.2%5im
Compiler

Compiled 89 to 60 computations (32.6% saved)

regimes41.0ms (0.3%)

Counts
25 → 3
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
Outputs
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 re re) re)
Calls

1 calls:

37.0ms
re
Results
AccuracySegmentsBranch
52.4%3re
Compiler

Compiled 68 to 47 computations (30.9% saved)

regimes100.0ms (0.8%)

Counts
23 → 3
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
(*.f64 1/2 (*.f64 im im))
(-.f64 -512 (*.f64 re re))
(-.f64 (*.f64 1/2 im) 1/2)
(-.f64 (*.f64 re re) re)
Outputs
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 2)
(*.f64 1/2 (*.f64 im im))
Calls

2 calls:

51.0ms
re
45.0ms
im
Results
AccuracySegmentsBranch
50.1%3im
38.9%5re
Compiler

Compiled 57 to 41 computations (28.1% saved)

regimes23.0ms (0.2%)

Counts
19 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
(*.f64 1/2 2)
(*.f64 re 514)
(+.f64 re 262144)
(-.f64 -512 re)
(/.f64 -512 re)
Outputs
(*.f64 1/2 2)
Calls

2 calls:

10.0ms
im
9.0ms
re
Results
AccuracySegmentsBranch
31.9%1re
31.9%1im
Compiler

Compiled 37 to 30 computations (18.9% saved)

regimes18.0ms (0.1%)

Counts
14 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
3/4
3/2
64
256
262144
re
Outputs
3/4
Calls

2 calls:

8.0ms
im
7.0ms
re
Results
AccuracySegmentsBranch
9.7%1re
9.7%1im
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes41.0ms (0.3%)

Counts
8 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
1/4
Outputs
1/4
Calls

2 calls:

5.0ms
im
5.0ms
re
Results
AccuracySegmentsBranch
8.5%1re
8.5%1im
Compiler

Compiled 16 to 14 computations (12.5% saved)

regimes11.0ms (0.1%)

Counts
7 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
1/8
Outputs
1/8
Calls

2 calls:

5.0ms
re
5.0ms
im
Results
AccuracySegmentsBranch
8.1%1re
8.1%1im
Compiler

Compiled 15 to 13 computations (13.3% saved)

regimes10.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
1/64
Outputs
1/64
Calls

2 calls:

5.0ms
im
4.0ms
re
Results
AccuracySegmentsBranch
7.5%1re
7.5%1im
Compiler

Compiled 14 to 12 computations (14.3% saved)

regimes11.0ms (0.1%)

Counts
5 → 1
Calls
Call 1
Inputs
-512
-1
-1/2
-1/4
-1/8
Outputs
-1
Calls

2 calls:

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

Compiled 13 to 11 computations (15.4% saved)

regimes5.0ms (0%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999983103679061
0.9999985579079848
Compiler

Compiled 18 to 14 computations (22.2% saved)

bsearch91.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
35.0ms
7.427068346163197e-7
6.1732287758723405
23.0ms
-0.05861672913874863
-0.009796974695819305
33.0ms
-1.7752233128460115e+82
-2.6644756521982693e+72
Results
23.0ms169×body256valid
20.0ms46×body1024valid
16.0ms105×body256infinite
11.0ms38×body1024infinite
6.0ms24×body512valid
4.0ms17×body512infinite
1.0msbody2048valid
Compiler

Compiled 673 to 538 computations (20.1% saved)

bsearch117.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
7.427068346163197e-7
6.1732287758723405
30.0ms
-0.05861672913874863
-0.009796974695819305
53.0ms
-1.7752233128460115e+82
-2.6644756521982693e+72
Results
31.0ms97×body256infinite
29.0ms77×body1024valid
26.0ms151×body256valid
16.0ms46×body1024infinite
4.0ms17×body512infinite
2.0ms10×body512valid
1.0msbody2048valid
Compiler

Compiled 625 to 506 computations (19% saved)

bsearch120.0ms (1%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
4.9434005785568684e+63
8.348194517134925e+86
34.0ms
7.427068346163197e-7
6.1732287758723405
34.0ms
-0.05861672913874863
-0.009796974695819305
32.0ms
-1.7752233128460115e+82
-2.6644756521982693e+72
Results
35.0ms62×body1024valid
24.0ms155×body256valid
23.0ms75×body1024infinite
20.0ms159×body256infinite
5.0ms22×body512valid
5.0ms22×body512infinite
1.0msbody2048valid
Compiler

Compiled 700 to 572 computations (18.3% saved)

bsearch145.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
35.0ms
4.9434005785568684e+63
8.348194517134925e+86
33.0ms
7.427068346163197e-7
6.1732287758723405
40.0ms
-3987894584449606000.0
-30408059.685536742
35.0ms
-1.7752233128460115e+82
-2.6644756521982693e+72
Results
48.0ms330×body256infinite
45.0ms132×body1024infinite
14.0ms97×body256valid
14.0ms38×body1024valid
8.0ms34×body512infinite
2.0msbody512valid
Compiler

Compiled 796 to 653 computations (18% saved)

bsearch175.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
30.0ms
2.933684980455887e+151
7.329092507176856e+156
36.0ms
7.427068346163197e-7
6.1732287758723405
48.0ms
-3987894584449606000.0
-30408059.685536742
33.0ms
-1.7752233128460115e+82
-2.6644756521982693e+72
28.0ms
-5.403928936800914e+186
-3.0821981186851967e+181
Results
62.0ms152×body1024infinite
54.0ms396×body256infinite
14.0ms94×body256valid
14.0ms60×body512infinite
12.0ms32×body1024valid
7.0ms17×body512valid
1.0msbody2048valid
Compiler

Compiled 1011 to 801 computations (20.8% saved)

bsearch123.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
2.933684980455887e+151
7.329092507176856e+156
32.0ms
7.427068346163197e-7
6.1732287758723405
37.0ms
-3987894584449606000.0
-30408059.685536742
26.0ms
-2.4104041913106604e+180
-6.065987830581688e+176
Results
38.0ms119×body1024infinite
38.0ms276×body256infinite
13.0ms33×body1024valid
13.0ms95×body256valid
9.0ms37×body512infinite
4.0ms16×body512valid
Compiler

Compiled 722 to 574 computations (20.5% saved)

bsearch119.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
2.933684980455887e+151
7.329092507176856e+156
30.0ms
7.427068346163197e-7
6.1732287758723405
35.0ms
-3987894584449606000.0
-30408059.685536742
25.0ms
-2.4104041913106604e+180
-6.065987830581688e+176
Results
40.0ms291×body256infinite
37.0ms114×body1024infinite
15.0ms103×body256valid
11.0ms30×body1024valid
6.0ms27×body512infinite
3.0ms11×body512valid
Compiler

Compiled 570 to 460 computations (19.3% saved)

bsearch107.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
40.0ms
7.427068346163197e-7
6.1732287758723405
36.0ms
-3987894584449606000.0
-30408059.685536742
31.0ms
-2.058255261933594e+131
-1.1914315141896414e+120
Results
31.0ms222×body256infinite
26.0ms76×body1024infinite
17.0ms47×body1024valid
13.0ms84×body256valid
7.0ms11×body512valid
6.0ms22×body512infinite
1.0msbody2048valid
Compiler

Compiled 454 to 362 computations (20.3% saved)

bsearch285.0ms (2.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
63.0ms
4.9434005785568684e+63
8.348194517134925e+86
143.0ms
2.0901683741759106e+21
9.970925665538201e+29
46.0ms
-3987894584449606000.0
-30408059.685536742
33.0ms
-2.058255261933594e+131
-1.1914315141896414e+120
Results
200.0ms406×body256infinite
59.0ms175×body1024infinite
16.0ms59×body512infinite
Compiler

Compiled 581 to 467 computations (19.6% saved)

bsearch118.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
1.2566213942530569e+131
5.4667876402240635e+131
29.0ms
2.0901683741759106e+21
9.970925665538201e+29
37.0ms
-3987894584449606000.0
-30408059.685536742
33.0ms
-2.058255261933594e+131
-1.1914315141896414e+120
Results
53.0ms158×body1024infinite
48.0ms361×body256infinite
9.0ms41×body512infinite
Compiler

Compiled 559 to 443 computations (20.8% saved)

bsearch111.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
78.0ms
2.0901683741759106e+21
9.970925665538201e+29
33.0ms
-1.6182510761550525e+50
-7.470588403764503e+42
Results
78.0ms84×body1024infinite
23.0ms178×body256infinite
6.0ms26×body512infinite
Compiler

Compiled 378 to 293 computations (22.5% saved)

bsearch98.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
35.0ms
7.427068346163197e-7
6.1732287758723405
63.0ms
-1.6182510761550525e+50
-7.470588403764503e+42
Results
46.0ms43×body1024infinite
16.0ms98×body256valid
13.0ms94×body256infinite
12.0ms33×body1024valid
3.0ms12×body512valid
1.0msbody512infinite
1.0msbody2048valid
Compiler

Compiled 468 to 365 computations (22% saved)

bsearch79.0ms (0.7%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
6.185867812875755e+170
7.71111748869055e+177
27.0ms
1.9559533878374486e+87
9.572816404906053e+89
32.0ms
-1.6182510761550525e+50
-7.470588403764503e+42
Results
34.0ms238×body256infinite
30.0ms90×body1024infinite
9.0ms40×body512infinite
Compiler

Compiled 570 to 428 computations (24.9% saved)

bsearch81.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
57.0ms
6.684485894995776e+189
2.5027865150262972e+191
17.0ms
2.3057735864890383e+95
4.1728332060779215e+95
7.0ms
-4.899710045089739e+27
-4.204869980920067e+27
Results
29.0ms65×body1024valid
26.0ms47×body1024infinite
8.0ms33×body512valid
6.0ms31×body512infinite
4.0ms31×body256valid
2.0ms17×body256infinite
Compiler

Compiled 312 to 217 computations (30.4% saved)

bsearch110.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
58.0ms
5.310483427231188e+237
9.95035498379381e+242
52.0ms
4.292012792312024e+156
1.0726963547539582e+161
Results
67.0ms154×body1024valid
39.0ms118×body1024infinite
Compiler

Compiled 306 to 225 computations (26.5% saved)

bsearch54.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
36.0ms
7.427068346163197e-7
6.1732287758723405
18.0ms
-0.20543961190647914
-0.05861672913874863
Results
26.0ms62×body1024valid
22.0ms152×body256valid
2.0ms10×body512valid
Compiler

Compiled 214 to 182 computations (15% saved)

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
68×*-commutative
36×+-commutative
14×sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02131988
12741964
22891964
33021960
43051960
53061960
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (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 (cos.f64 re) 4503592871971055/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -8070450532247929/576460752303423488) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))) (if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -7638104968020361/144115188075855872) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -5332261958806667/288230376151711744) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/2251799813685248) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 99999999999999998278261272554585856747747644714015897553975120217811154108416) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 7656119366529843/2251799813685248) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) (if (<=.f64 im -12499999999999999784782659069323232093468455589251987194246890027226394263552) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24)) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 6530219459687219/2251799813685248) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 18999999999999999064581089979963101249120767266604493066770021892695906750618596520567186646577434152905173284039181572611431631767743819258237216708624384) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 9/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 8782019273372467/4503599627370496) (cos.f64 re) (if (<=.f64 im 20500000000000000087570118294362333759851997301592532466125818022476290146240432609416683949588560933847676757254324947195650944531715895005155833587695616) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))))
(if (<=.f64 im -199999999999999982405111001914463627825705729939051460364922737117355163153802565541919878198424069508213948681199740222346696327168) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 5/2) (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) 1))))
(if (<=.f64 im -314999999999999994821072121578373013347562581923635194854729206257261695200169331281545946237485227877970483685200722936486428672) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 2100000000000000000000) (cos.f64 re) (if (<=.f64 im 125999999999999997573499116337339735415448097565074014514456172469195200528384) (pow.f64 re -512) (*.f64 1/24 (pow.f64 im 4))))))
(if (<=.f64 im -169999999999999992924745590906189926107657890476916502326132180642841222270390861559776250768102581364835107356002907350320289939456) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 2100000000000000000000) (cos.f64 re) (if (<=.f64 im 125999999999999999159741542268676680722745035898942009350633534704949886453451901395297183854281922757884013939233902949801696165888) (pow.f64 re -512) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))))
(if (<=.f64 im -9599999999999999440550810281224581221974016) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im 3299999999999999796458815488) (cos.f64 re) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))
(if (<=.f64 im -7500000000000000414014097540905643072815104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im 3) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))
(if (<=.f64 im -7500000000000000414014097540905643072815104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im 1959999999999999973462191877798240841223237357998520296577205365489708432632056712790016) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 39999999999999997486138098493475056401093230239587493100825002713807698410740413528150307135276363386938195289179600132648448207361831475318456484960712247853539567853690159104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))))
(if (<=.f64 re -4850000000000000050700746752) (*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im)))) (if (<=.f64 re 320000000000000006470041320689903036344350823428594477164088593986561281599412578994783304810496) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 re 149999999999999987140157198179781484346309346431040348995915646043244894123756951198647412499089380925734887773697816816043564399905184628841312193252473669998758477992046264817798038656385024) (*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im)))) (-.f64 (*.f64 re re) re))))
(if (<=.f64 re 79999999999999998668734417855337737164829782001397642909360609156837473400081004362518230155675099340098991067549048405402760587853165898677240829626086850560) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 re 109999999999999999683326730474174269376590273441305299896387059129015007260360070390049907773131580764763934010510740446243578599144694302698579389312061868337020420080133630465262157970962565688711382084349119577252340199599017350108041707520) (-.f64 -512 (*.f64 re re)) (-.f64 (*.f64 re re) re)))
(if (<=.f64 im -3602879701896397/18014398509481984) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 3152519739159347/2251799813685248) (*.f64 1/2 2) (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 2)
3/4
1/4
1/8
1/64
-1
-512
Outputs
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (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 (cos.f64 re) 4503592871971055/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 (cos.f64 re) 4503592871971055/4503599627370496) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -8070450532247929/576460752303423488) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))) (if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -8070450532247929/576460752303423488) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))) (if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) 1/1024)))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -7638104968020361/144115188075855872) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 1/512) (*.f64 1/2 (exp.f64 im)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -7638104968020361/144115188075855872) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) 1/1024)))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -5332261958806667/288230376151711744) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/2251799813685248) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 99999999999999998278261272554585856747747644714015897553975120217811154108416) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -5332261958806667/288230376151711744) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/2251799813685248) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 99999999999999998278261272554585856747747644714015897553975120217811154108416) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -5332261958806667/288230376151711744) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/2251799813685248) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 99999999999999998278261272554585856747747644714015897553975120217811154108416) (+.f64 (*.f64 1/2 (exp.f64 im)) -1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 7656119366529843/2251799813685248) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 7656119366529843/2251799813685248) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 7656119366529843/2251799813685248) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (+.f64 (*.f64 1/2 (exp.f64 im)) -1) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))))
(if (<=.f64 im -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) (if (<=.f64 im -12499999999999999784782659069323232093468455589251987194246890027226394263552) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 re re) -1/48) 1/24)) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 6530219459687219/2251799813685248) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 18999999999999999064581089979963101249120767266604493066770021892695906750618596520567186646577434152905173284039181572611431631767743819258237216708624384) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))))))))
(if (<=.f64 im -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -12499999999999999784782659069323232093468455589251987194246890027226394263552) (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 6530219459687219/2251799813685248) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 18999999999999999064581089979963101249120767266604493066770021892695906750618596520567186646577434152905173284039181572611431631767743819258237216708624384) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))))))))
(if (<=.f64 im -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -12499999999999999784782659069323232093468455589251987194246890027226394263552) (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 (*.f64 re re) -1/48))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 6530219459687219/2251799813685248) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 18999999999999999064581089979963101249120767266604493066770021892695906750618596520567186646577434152905173284039181572611431631767743819258237216708624384) (+.f64 (*.f64 1/2 (exp.f64 im)) -1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 9/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 9/2) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 9/2) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (+.f64 (*.f64 1/2 (exp.f64 im)) -1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 8782019273372467/4503599627370496) (cos.f64 re) (if (<=.f64 im 20500000000000000087570118294362333759851997301592532466125818022476290146240432609416683949588560933847676757254324947195650944531715895005155833587695616) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 8782019273372467/4503599627370496) (cos.f64 re) (if (<=.f64 im 20500000000000000087570118294362333759851997301592532466125818022476290146240432609416683949588560933847676757254324947195650944531715895005155833587695616) (-.f64 (*.f64 1/2 (exp.f64 im)) 1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))))))
(if (<=.f64 im -619999999999999982123798938570096418641344323491646106514492784104253543026268156304318419994383024618045243094272194946305215808737583757474822652020569633957278212037653037056) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 8782019273372467/4503599627370496) (cos.f64 re) (if (<=.f64 im 20500000000000000087570118294362333759851997301592532466125818022476290146240432609416683949588560933847676757254324947195650944531715895005155833587695616) (+.f64 (*.f64 1/2 (exp.f64 im)) -1) (*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))))))
(if (<=.f64 im -199999999999999982405111001914463627825705729939051460364922737117355163153802565541919878198424069508213948681199740222346696327168) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 5/2) (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) 1))))
(if (<=.f64 im -199999999999999982405111001914463627825705729939051460364922737117355163153802565541919878198424069508213948681199740222346696327168) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 5/2) (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) 1))))
(if (<=.f64 im -199999999999999982405111001914463627825705729939051460364922737117355163153802565541919878198424069508213948681199740222346696327168) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 5/2) (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) -1))))
(if (<=.f64 im -314999999999999994821072121578373013347562581923635194854729206257261695200169331281545946237485227877970483685200722936486428672) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 2100000000000000000000) (cos.f64 re) (if (<=.f64 im 125999999999999997573499116337339735415448097565074014514456172469195200528384) (pow.f64 re -512) (*.f64 1/24 (pow.f64 im 4))))))
(if (<=.f64 im -314999999999999994821072121578373013347562581923635194854729206257261695200169331281545946237485227877970483685200722936486428672) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 2100000000000000000000) (cos.f64 re) (if (<=.f64 im 125999999999999997573499116337339735415448097565074014514456172469195200528384) (pow.f64 re -512) (*.f64 (pow.f64 im 4) 1/24)))))
(if (<=.f64 im -169999999999999992924745590906189926107657890476916502326132180642841222270390861559776250768102581364835107356002907350320289939456) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 2100000000000000000000) (cos.f64 re) (if (<=.f64 im 125999999999999999159741542268676680722745035898942009350633534704949886453451901395297183854281922757884013939233902949801696165888) (pow.f64 re -512) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))))
(if (<=.f64 im -169999999999999992924745590906189926107657890476916502326132180642841222270390861559776250768102581364835107356002907350320289939456) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (if (<=.f64 im -31000000) (pow.f64 re -512) (if (<=.f64 im 2100000000000000000000) (cos.f64 re) (if (<=.f64 im 125999999999999999159741542268676680722745035898942009350633534704949886453451901395297183854281922757884013939233902949801696165888) (pow.f64 re -512) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))))
(if (<=.f64 im -9599999999999999440550810281224581221974016) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im 3299999999999999796458815488) (cos.f64 re) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))
(if (<=.f64 im -9599999999999999440550810281224581221974016) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (if (<=.f64 im 3299999999999999796458815488) (cos.f64 re) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))
(if (<=.f64 im -7500000000000000414014097540905643072815104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im 3) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))
(if (<=.f64 im -7500000000000000414014097540905643072815104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (if (<=.f64 im 3) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (+.f64 -1/2 (*.f64 im (+.f64 1/2 (*.f64 im (+.f64 1/4 (*.f64 im 1/12))))))))
(if (<=.f64 im -7500000000000000414014097540905643072815104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (if (<=.f64 im 1959999999999999973462191877798240841223237357998520296577205365489708432632056712790016) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 39999999999999997486138098493475056401093230239587493100825002713807698410740413528150307135276363386938195289179600132648448207361831475318456484960712247853539567853690159104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 (*.f64 -1/4 re) re))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im -7500000000000000414014097540905643072815104) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (if (or (<=.f64 im 1959999999999999973462191877798240841223237357998520296577205365489708432632056712790016) (not (<=.f64 im 39999999999999997486138098493475056401093230239587493100825002713807698410740413528150307135276363386938195289179600132648448207361831475318456484960712247853539567853690159104))) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))))
(if (or (<=.f64 im -7500000000000000414014097540905643072815104) (not (or (<=.f64 im 1959999999999999973462191877798240841223237357998520296577205365489708432632056712790016) (not (<=.f64 im 39999999999999997486138098493475056401093230239587493100825002713807698410740413528150307135276363386938195289179600132648448207361831475318456484960712247853539567853690159104))))) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))
(if (or (<=.f64 im -7500000000000000414014097540905643072815104) (and (not (<=.f64 im 1959999999999999973462191877798240841223237357998520296577205365489708432632056712790016)) (<=.f64 im 39999999999999997486138098493475056401093230239587493100825002713807698410740413528150307135276363386938195289179600132648448207361831475318456484960712247853539567853690159104))) (*.f64 (*.f64 im im) (+.f64 1/2 (*.f64 re (*.f64 re -1/4)))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))
(if (<=.f64 re -4850000000000000050700746752) (*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im)))) (if (<=.f64 re 320000000000000006470041320689903036344350823428594477164088593986561281599412578994783304810496) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 re 149999999999999987140157198179781484346309346431040348995915646043244894123756951198647412499089380925734887773697816816043564399905184628841312193252473669998758477992046264817798038656385024) (*.f64 -1/4 (*.f64 im (*.f64 re (*.f64 re im)))) (-.f64 (*.f64 re re) re))))
(if (<=.f64 re 79999999999999998668734417855337737164829782001397642909360609156837473400081004362518230155675099340098991067549048405402760587853165898677240829626086850560) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 re 109999999999999999683326730474174269376590273441305299896387059129015007260360070390049907773131580764763934010510740446243578599144694302698579389312061868337020420080133630465262157970962565688711382084349119577252340199599017350108041707520) (-.f64 -512 (*.f64 re re)) (-.f64 (*.f64 re re) re)))
(if (<=.f64 im -3602879701896397/18014398509481984) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 3152519739159347/2251799813685248) (*.f64 1/2 2) (*.f64 1/2 (*.f64 im im))))
(if (or (<=.f64 im -3602879701896397/18014398509481984) (not (<=.f64 im 3152519739159347/2251799813685248))) (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 1/2 2)
1
3/4
1/4
1/8
1/64
-1
-512
Compiler

Compiled 788 to 555 computations (29.6% saved)

soundness2.4s (20.3%)

Rules
1780×fma-def
1780×fma-def
1780×fma-def
1606×fma-def
1606×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01335
13035
27335
313233
419433
534833
679033
7133733
8387933
9440133
10536833
11595233
12698433
01533310
14673142
214082888
364332888
01463712
13923522
213563004
352962962
02152699
15082543
216922307
372062307
036304
1775304
036304
1775304
036304
1775304
036304
1775304
036304
1775304
036304
1775304
01463712
13923522
213563004
352962962
01463712
13923522
213563004
352962962
036304
1775304
01716383
13755631
29335281
336105279
478265275
036304
1775304
01716383
13755631
29335281
336105279
478265275
02152699
15082543
216922307
372062307
01716383
13755631
29335281
336105279
478265275
02972
165972
01716383
13755631
29335281
336105279
478265275
036304
1775304
01533310
14673142
214082888
364332888
01463712
13923522
213563004
352962962
02152699
15082543
216922307
372062307
02972
165972
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
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 1214 to 821 computations (32.4% saved)

end420.0ms (3.5%)

Compiler

Compiled 1502 to 936 computations (37.7% saved)

Profiling

Loading profile data...