math.cos on complex, real part

Time bar (total: 8.8s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample2.3s (26.4%)

Results
623.0ms2562×body256valid
544.0ms1053×body1024valid
442.0ms2575×body256infinite
390.0ms997×body1024infinite
165.0ms548×body512valid
149.0ms520×body512infinite
2.0msbody2048valid
Bogosity

preprocess204.0ms (2.3%)

Algorithm
egg-herbie
Rules
1664×fma-def
928×associate-/r/
792×sqr-pow
750×associate-/l/
676×fabs-mul
Problems
256×No Errors
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027175
181175
2182175
3343165
4674165
51905165
63540165
73945165
84964165
95834165
107272165
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 49 to 24 computations (51% saved)

eval2.0ms (0%)

Compiler

Compiled 24 to 15 computations (37.5% saved)

prune4.0ms (0%)

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

Compiled 26 to 20 computations (23.1% saved)

localize96.0ms (1.1%)

Localize:

Found 2 expressions with local error:

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

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite35.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
264×add-exp-log
262×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
127354
2427754
Stop Event
unsound
Counts
2 → 32
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 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 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
-2
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im

simplify248.0ms (2.8%)

Algorithm
egg-herbie
Rules
1156×fma-neg
1130×div-sub
878×fma-def
726×associate-*r*
602×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

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

eval15.0ms (0.2%)

Compiler

Compiled 875 to 462 computations (47.2% saved)

prune53.0ms (0.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New61566
Fresh000
Picked011
Done000
Total61667
Accuracy
100.0%
Counts
67 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.3%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
90.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
79.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
63.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.1%
(cos.f64 re)
64.3%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
90.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
79.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
63.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.1%
(cos.f64 re)
Compiler

Compiled 262 to 200 computations (23.7% saved)

localize375.0ms (4.2%)

Localize:

Found 7 expressions with local error:

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

Compiled 156 to 71 computations (54.5% saved)

series10.0ms (0.1%)

Counts
7 → 100
Calls

27 calls:

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

rewrite51.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
614×add-sqr-sqrt
594×pow1
592×*-un-lft-identity
578×add-exp-log
576×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028133
1616133
Stop Event
node limit
Counts
7 → 166
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 -1/4 (*.f64 re re))
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) -2)
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/5159780352)
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) (+.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352))))
(/.f64 (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(fabs.f64 (*.f64 (cos.f64 re) 1/5159780352))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352))
(fma.f64 -2 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
-1/2
-1/4
-1/8
-1/64
-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
512
4096
262144
im
(+.f64 re re)
(+.f64 re -2)
(+.f64 re (neg.f64 re))
(+.f64 re (fma.f64 (neg.f64 re) -2 re))
(+.f64 -2 re)
(+.f64 -2 (neg.f64 re))
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 -2 (*.f64 (neg.f64 re) -2))
(-.f64 re re)
(-.f64 re -2)
(-.f64 -2 re)
(/.f64 re re)
(/.f64 -2 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -2 -2)
(fma.f64 -2 re -2)
(-.f64 re re)
(-.f64 re -2)
(-.f64 -2 re)
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(/.f64 re re)
(/.f64 -2 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -2 -2)
(fma.f64 -2 re -2)
-2
-1
-1/2
-1/4
-1/8
-1/64
-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
512
4096
262144
im

simplify251.0ms (2.8%)

Algorithm
egg-herbie
Rules
1390×fma-def
952×associate-+r+
884×associate-+l+
772×associate-*r*
662×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02053852
14683360
212703112
366303112
Stop Event
node limit
Counts
266 → 210
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.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 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
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)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) -2)
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/5159780352)
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) (+.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352))))
(/.f64 (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(fabs.f64 (*.f64 (cos.f64 re) 1/5159780352))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352))
(fma.f64 -2 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
-1/2
-1/4
-1/8
-1/64
-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
512
4096
262144
(+.f64 re re)
(+.f64 re -2)
(+.f64 re (neg.f64 re))
(+.f64 re (fma.f64 (neg.f64 re) -2 re))
(+.f64 -2 re)
(+.f64 -2 (neg.f64 re))
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 -2 (*.f64 (neg.f64 re) -2))
(-.f64 re re)
(-.f64 re -2)
(-.f64 -2 re)
(/.f64 re re)
(/.f64 -2 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -2 -2)
(fma.f64 -2 re -2)
(-.f64 re re)
(-.f64 re -2)
(-.f64 -2 re)
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(/.f64 re re)
(/.f64 -2 re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))
(fma.f64 re -2 -2)
(fma.f64 -2 re -2)
-2
-1
-1/2
-1/4
-1/8
-1/64
-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
512
4096
262144
Outputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/48 (pow.f64 re 4))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 re re)) (fma.f64 -1/1440 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (fma.f64 1/48 (pow.f64 re 4) 1/2) (fma.f64 -1/4 (*.f64 re re) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 im (*.f64 im 1/2)) (*.f64 (pow.f64 im 4) 1/24)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/24 (*.f64 im (*.f64 im 1/2))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 im (*.f64 im 1/2)) (*.f64 (pow.f64 im 4) 1/24)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/24 (*.f64 im (*.f64 im 1/2))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))))
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (*.f64 im im))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 1/48 (pow.f64 re 4) 1/2) (fma.f64 -1/4 (*.f64 re re) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
(*.f64 im (*.f64 (*.f64 im 1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (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 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(+.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (*.f64 re re))
(*.f64 -1/4 (pow.f64 re 2))
(*.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 (*.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)
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(+.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))
(fma.f64 (cos.f64 re) 1/5159780352 (cos.f64 re))
(*.f64 5159780353/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 5159780353/5159780352)
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (cos.f64 re))
(fma.f64 (cos.f64 re) 1/5159780352 (cos.f64 re))
(*.f64 5159780353/5159780352 (cos.f64 re))
(*.f64 (cos.f64 re) 5159780353/5159780352)
(+.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352))
(*.f64 (cos.f64 re) 1/2579890176)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) -2)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/5159780352)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) 1/5159780352) (+.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) 1/5159780352) (*.f64 (cos.f64 re) 1/5159780352))))
1/5159780352
(/.f64 (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352)))
1
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) 1/3)
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(sqrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(fabs.f64 (*.f64 (cos.f64 re) 1/5159780352))
(*.f64 (fabs.f64 (cos.f64 re)) 1/5159780352)
(*.f64 1/5159780352 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352))))
(cbrt.f64 (*.f64 (cos.f64 re) 1/5159780352))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) 1/5159780352)) -2))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 (pow.f64 (cos.f64 re) -2) 26623333280885243904)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/5159780352)))
(*.f64 (cos.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (cos.f64 re) 1/5159780352)
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352))
(*.f64 (cos.f64 re) -10319560703/5159780352)
(fma.f64 -2 (cos.f64 re) (*.f64 (cos.f64 re) 1/5159780352))
(fma.f64 (cos.f64 re) -2 (*.f64 (cos.f64 re) 1/5159780352))
(*.f64 (cos.f64 re) -10319560703/5159780352)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) -2)
(+.f64 (cos.f64 re) 2)
(+.f64 2 (cos.f64 re))
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
1
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
1
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(pow.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(neg.f64 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(neg.f64 (cos.f64 re))
-2
-1
-1/2
-1/4
-1/8
-1/64
-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
512
4096
262144
(+.f64 re re)
(+.f64 re -2)
(+.f64 re (neg.f64 re))
0
(+.f64 re (fma.f64 (neg.f64 re) -2 re))
(+.f64 re (+.f64 re (+.f64 re re)))
(*.f64 re 4)
(+.f64 -2 re)
(+.f64 re -2)
(+.f64 -2 (neg.f64 re))
(-.f64 -2 re)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 -2 (neg.f64 (*.f64 re re)))
(-.f64 -2 (*.f64 re re))
(+.f64 -2 (*.f64 (neg.f64 re) -2))
(+.f64 -2 (*.f64 -2 (neg.f64 re)))
(+.f64 -2 (+.f64 re re))
(fma.f64 2 re -2)
(-.f64 re re)
0
(-.f64 re -2)
(+.f64 re 2)
(+.f64 2 re)
(-.f64 -2 re)
(/.f64 re re)
1
(/.f64 -2 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -2)
(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 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -2))
(pow.f64 re -2)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(fma.f64 re -2 -2)
(fma.f64 -2 re -2)
(fma.f64 re -2 -2)
(-.f64 re re)
0
(-.f64 re -2)
(+.f64 re 2)
(+.f64 2 re)
(-.f64 -2 re)
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(*.f64 re -2)
(/.f64 re re)
1
(/.f64 -2 re)
(/.f64 (neg.f64 re) (neg.f64 re))
1
(pow.f64 re -2)
(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 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(+.f64 re -1)
(exp.f64 (log.f64 re))
(fabs.f64 re)
re
(exp.f64 (*.f64 (log.f64 re) -2))
(pow.f64 re -2)
(log1p.f64 (expm1.f64 re))
(fabs.f64 re)
re
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))
(-.f64 (*.f64 re re) re)
(fma.f64 re -2 -2)
(fma.f64 -2 re -2)
(fma.f64 re -2 -2)
-2
-1
-1/2
-1/4
-1/8
-1/64
-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
512
4096
262144

eval61.0ms (0.7%)

Compiler

Compiled 2841 to 1715 computations (39.6% saved)

prune80.0ms (0.9%)

Pruning

25 alts after pruning (22 fresh and 3 done)

PrunedKeptTotal
New23222254
Fresh000
Picked325
Done011
Total23525260
Accuracy
100.0%
Counts
260 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
41.5%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
15.8%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2))
51.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
12.1%
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
34.8%
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
63.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
57.3%
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
48.7%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
6.2%
(*.f64 1/2 262144)
9.2%
(*.f64 1/2 3/2)
8.4%
(*.f64 1/2 3/4)
7.8%
(*.f64 1/2 1/4)
7.3%
(*.f64 1/2 1/16)
7.0%
(*.f64 1/2 1/64)
3.3%
(*.f64 1/2 -1/8)
3.5%
(*.f64 1/2 -1/4)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
4.0%
(*.f64 1/2 -2)
8.1%
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
8.1%
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
52.1%
(cos.f64 re)
30.0%
1
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
41.5%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
15.8%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2))
51.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
12.1%
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
34.8%
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
63.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
57.3%
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
48.7%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
6.2%
(*.f64 1/2 262144)
9.2%
(*.f64 1/2 3/2)
8.4%
(*.f64 1/2 3/4)
7.8%
(*.f64 1/2 1/4)
7.3%
(*.f64 1/2 1/16)
7.0%
(*.f64 1/2 1/64)
3.3%
(*.f64 1/2 -1/8)
3.5%
(*.f64 1/2 -1/4)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
4.0%
(*.f64 1/2 -2)
8.1%
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
8.1%
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
52.1%
(cos.f64 re)
30.0%
1
Compiler

Compiled 728 to 624 computations (14.3% saved)

localize233.0ms (2.6%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))
100.0%
(*.f64 -1/4 (*.f64 re re))
99.6%
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
Compiler

Compiled 87 to 59 computations (32.2% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
im
@-inf
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
0.0ms
im
@inf
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
0.0ms
im
@0
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))

rewrite186.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1492×pow1
1380×add-exp-log
1380×log1p-expm1-u
1380×expm1-log1p-u
1348×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
118421
2196521
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
Outputs
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) 1) (*.f64 im im))
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1)
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) (pow.f64 im 6)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))

simplify80.0ms (0.9%)

Algorithm
egg-herbie
Rules
888×associate-*r*
770×associate-*l*
676×associate-/r*
672×fma-neg
664×associate-/l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059791
1148747
2581743
33520709
Stop Event
node limit
Counts
33 → 34
Calls
Call 1
Inputs
(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 (*.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 (*.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 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) 1) (*.f64 im im))
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1)
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) (pow.f64 im 6)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
Outputs
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) 1) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) (pow.f64 im 6)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 1/1728 (pow.f64 (pow.f64 im 4) 3)) (pow.f64 im 6)) (+.f64 (*.f64 1/144 (*.f64 (pow.f64 im 4) (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (fma.f64 1/144 (pow.f64 im 8) (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4))))
(/.f64 (fma.f64 1/1728 (pow.f64 im 12) (pow.f64 im 6)) (fma.f64 1/144 (pow.f64 im 8) (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (-.f64 (*.f64 1/144 (*.f64 (pow.f64 im 4) (pow.f64 im 4))) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))

eval60.0ms (0.7%)

Compiler

Compiled 1006 to 757 computations (24.8% saved)

prune162.0ms (1.8%)

Pruning

32 alts after pruning (26 fresh and 6 done)

PrunedKeptTotal
New741084
Fresh11617
Picked235
Done033
Total7732109
Accuracy
100.0%
Counts
109 → 32
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
41.5%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
15.8%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2))
51.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
17.0%
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2)))
6.1%
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
5.8%
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
8.6%
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
16.3%
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
5.9%
(*.f64 262144 (+.f64 1/2 re))
9.1%
(*.f64 262144 (*.f64 re re))
2.4%
(*.f64 262144 (*.f64 re -2))
34.8%
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
63.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
57.3%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
48.7%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
57.0%
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
6.2%
(*.f64 1/2 262144)
9.2%
(*.f64 1/2 3/2)
8.4%
(*.f64 1/2 3/4)
7.8%
(*.f64 1/2 1/4)
7.3%
(*.f64 1/2 1/16)
7.0%
(*.f64 1/2 1/64)
3.3%
(*.f64 1/2 -1/8)
3.5%
(*.f64 1/2 -1/4)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
4.0%
(*.f64 1/2 -2)
8.1%
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
52.1%
(cos.f64 re)
30.0%
1
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
41.5%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
15.8%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2))
51.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
17.0%
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2)))
6.1%
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
5.8%
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
8.6%
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
16.3%
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
5.9%
(*.f64 262144 (+.f64 1/2 re))
9.1%
(*.f64 262144 (*.f64 re re))
2.4%
(*.f64 262144 (*.f64 re -2))
34.8%
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
63.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
57.3%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
48.7%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
57.0%
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
6.2%
(*.f64 1/2 262144)
9.2%
(*.f64 1/2 3/2)
8.4%
(*.f64 1/2 3/4)
7.8%
(*.f64 1/2 1/4)
7.3%
(*.f64 1/2 1/16)
7.0%
(*.f64 1/2 1/64)
3.3%
(*.f64 1/2 -1/8)
3.5%
(*.f64 1/2 -1/4)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
4.0%
(*.f64 1/2 -2)
8.1%
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
52.1%
(cos.f64 re)
30.0%
1
Compiler

Compiled 930 to 794 computations (14.6% saved)

localize266.0ms (3%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(pow.f64 re -2)
100.0%
(+.f64 1/2 (pow.f64 re -2))
99.6%
(*.f64 1/12 (pow.f64 im 4))
Compiler

Compiled 100 to 75 computations (25% saved)

series4.0ms (0%)

Counts
3 → 24
Calls

9 calls:

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

rewrite130.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
964×log-prod
774×exp-prod
544×prod-exp
516×pow-prod-down
508×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01233
126233
2294733
Stop Event
node limit
Counts
3 → 99
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(+.f64 1/2 (pow.f64 re -2))
(pow.f64 re -2)
Outputs
(+.f64 0 (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 im 8) 1/144) 1/2)
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) 1)
(-.f64 (/.f64 1/4 (-.f64 1/2 (pow.f64 re -2))) (/.f64 (pow.f64 re -4) (-.f64 1/2 (pow.f64 re -2))))
(*.f64 (+.f64 1/2 (pow.f64 re -2)) 1)
(*.f64 1 (+.f64 1/2 (pow.f64 re -2)))
(*.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))))
(*.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)))
(*.f64 (-.f64 1/4 (pow.f64 re -4)) (/.f64 1 (-.f64 1/2 (pow.f64 re -2))))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)))
(/.f64 1 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (-.f64 1/4 (*.f64 1/2 (pow.f64 re -2)))))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re -6) 1/8)) (neg.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 re -4))) (neg.f64 (-.f64 1/2 (pow.f64 re -2))))
(/.f64 (-.f64 (pow.f64 re -4) 1/4) (-.f64 (pow.f64 re -2) 1/2))
(pow.f64 (+.f64 1/2 (pow.f64 re -2)) 1)
(pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 3)
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2)
(pow.f64 (exp.f64 1) (log.f64 (+.f64 1/2 (pow.f64 re -2))))
(pow.f64 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)) -1)
(pow.f64 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))))
(sqrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2))
(log.f64 (exp.f64 (+.f64 1/2 (pow.f64 re -2))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (pow.f64 re -2)))))
(cbrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3))
(expm1.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2))))
(exp.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 2))
(log1p.f64 (expm1.f64 (+.f64 1/2 (pow.f64 re -2))))
(fma.f64 (pow.f64 re -2) 1 1/2)
(fma.f64 1 (pow.f64 re -2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2)
(fma.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2) 1/2)
(fma.f64 (/.f64 1 re) (/.f64 1 re) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2) 1/2)
(+.f64 (*.f64 1/2 (pow.f64 re -2)) (*.f64 1/2 (pow.f64 re -2)))
(+.f64 0 (pow.f64 re -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -2))) 1)
(*.f64 (pow.f64 re -2) 1)
(*.f64 1 (pow.f64 re -2))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)))
(*.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2))
(*.f64 (/.f64 1 re) (/.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2))
(/.f64 1 (*.f64 re re))
(sqrt.f64 (pow.f64 re -4))
(log.f64 (exp.f64 (pow.f64 re -2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -2))))
(cbrt.f64 (pow.f64 re -6))
(expm1.f64 (log1p.f64 (pow.f64 re -2)))
(exp.f64 (*.f64 -2 (log.f64 re)))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 re) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -6)) 1/3))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 re re)) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 2))
(exp.f64 (+.f64 (neg.f64 (log.f64 re)) (*.f64 (log.f64 re) -1)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (neg.f64 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (*.f64 (log.f64 re) -1)))
(log1p.f64 (expm1.f64 (pow.f64 re -2)))

simplify71.0ms (0.8%)

Algorithm
egg-herbie
Rules
1090×fma-def
1046×distribute-lft-in
1012×distribute-rgt-in
952×unswap-sqr
390×*-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02432505
15361945
216511945
Stop Event
node limit
Counts
123 → 117
Calls
Call 1
Inputs
(/.f64 1 (pow.f64 re 2))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
1/2
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
1/2
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(+.f64 0 (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 im 8) 1/144) 1/2)
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) 1)
(-.f64 (/.f64 1/4 (-.f64 1/2 (pow.f64 re -2))) (/.f64 (pow.f64 re -4) (-.f64 1/2 (pow.f64 re -2))))
(*.f64 (+.f64 1/2 (pow.f64 re -2)) 1)
(*.f64 1 (+.f64 1/2 (pow.f64 re -2)))
(*.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))))
(*.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)))
(*.f64 (-.f64 1/4 (pow.f64 re -4)) (/.f64 1 (-.f64 1/2 (pow.f64 re -2))))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)))
(/.f64 1 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (-.f64 1/4 (*.f64 1/2 (pow.f64 re -2)))))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re -6) 1/8)) (neg.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 re -4))) (neg.f64 (-.f64 1/2 (pow.f64 re -2))))
(/.f64 (-.f64 (pow.f64 re -4) 1/4) (-.f64 (pow.f64 re -2) 1/2))
(pow.f64 (+.f64 1/2 (pow.f64 re -2)) 1)
(pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 3)
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2)
(pow.f64 (exp.f64 1) (log.f64 (+.f64 1/2 (pow.f64 re -2))))
(pow.f64 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)) -1)
(pow.f64 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))))
(sqrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2))
(log.f64 (exp.f64 (+.f64 1/2 (pow.f64 re -2))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (pow.f64 re -2)))))
(cbrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3))
(expm1.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2))))
(exp.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 2))
(log1p.f64 (expm1.f64 (+.f64 1/2 (pow.f64 re -2))))
(fma.f64 (pow.f64 re -2) 1 1/2)
(fma.f64 1 (pow.f64 re -2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2)
(fma.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2) 1/2)
(fma.f64 (/.f64 1 re) (/.f64 1 re) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2) 1/2)
(+.f64 (*.f64 1/2 (pow.f64 re -2)) (*.f64 1/2 (pow.f64 re -2)))
(+.f64 0 (pow.f64 re -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -2))) 1)
(*.f64 (pow.f64 re -2) 1)
(*.f64 1 (pow.f64 re -2))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)))
(*.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2))
(*.f64 (/.f64 1 re) (/.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2))
(/.f64 1 (*.f64 re re))
(sqrt.f64 (pow.f64 re -4))
(log.f64 (exp.f64 (pow.f64 re -2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -2))))
(cbrt.f64 (pow.f64 re -6))
(expm1.f64 (log1p.f64 (pow.f64 re -2)))
(exp.f64 (*.f64 -2 (log.f64 re)))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 re) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -6)) 1/3))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 re re)) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 2))
(exp.f64 (+.f64 (neg.f64 (log.f64 re)) (*.f64 (log.f64 re) -1)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (neg.f64 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (*.f64 (log.f64 re) -1)))
(log1p.f64 (expm1.f64 (pow.f64 re -2)))
Outputs
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
1/2
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
1/2
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(+.f64 1/2 (/.f64 1 (pow.f64 re 2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(+.f64 0 (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 im 8) 1/144) 1/2)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3) 1/3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12))) 2)) (cbrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))) (sqrt.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)))) (sqrt.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12))))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 3))
(*.f64 1/12 (pow.f64 im 4))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1) 1))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4)))) 3))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/12 (pow.f64 im 4)))) 1/3))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2)))) 1)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(-.f64 (/.f64 1/4 (-.f64 1/2 (pow.f64 re -2))) (/.f64 (pow.f64 re -4) (-.f64 1/2 (pow.f64 re -2))))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(*.f64 (+.f64 1/2 (pow.f64 re -2)) 1)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(*.f64 1 (+.f64 1/2 (pow.f64 re -2)))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(*.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2) (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(*.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4)))
(*.f64 (-.f64 1/4 (pow.f64 re -4)) (/.f64 1 (-.f64 1/2 (pow.f64 re -2))))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4)))
(/.f64 1 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (-.f64 1/4 (*.f64 1/2 (pow.f64 re -2)))))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4)))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re -6) 1/8)) (neg.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4)))
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 re -4))) (neg.f64 (-.f64 1/2 (pow.f64 re -2))))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(/.f64 (-.f64 (pow.f64 re -4) 1/4) (-.f64 (pow.f64 re -2) 1/2))
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(pow.f64 (+.f64 1/2 (pow.f64 re -2)) 1)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(pow.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2))) 3)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2) 1/2)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(pow.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3) 1/3)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(pow.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2))) 2)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(pow.f64 (exp.f64 1) (log.f64 (+.f64 1/2 (pow.f64 re -2))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(pow.f64 (/.f64 (fma.f64 (pow.f64 re -2) (-.f64 (pow.f64 re -2) 1/2) 1/4) (+.f64 (pow.f64 re -6) 1/8)) -1)
(*.f64 (+.f64 (pow.f64 re -6) 1/8) (/.f64 1 (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4)))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (fma.f64 (pow.f64 re -2) (+.f64 (pow.f64 re -2) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re -6) 1/8) (+.f64 (pow.f64 re -4) (fma.f64 (pow.f64 re -2) -1/2 1/4)))
(pow.f64 (/.f64 (-.f64 1/2 (pow.f64 re -2)) (-.f64 1/4 (pow.f64 re -4))) -1)
(/.f64 (-.f64 1/4 (pow.f64 re -4)) (-.f64 1/2 (pow.f64 re -2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 2)) (cbrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))) (sqrt.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2)))))
(sqrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 2))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(log.f64 (exp.f64 (+.f64 1/2 (pow.f64 re -2))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (pow.f64 re -2)))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(cbrt.f64 (pow.f64 (+.f64 1/2 (pow.f64 re -2)) 3))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(expm1.f64 (log1p.f64 (+.f64 1/2 (pow.f64 re -2))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(exp.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (pow.f64 re -2))) 1) 1))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 3))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (pow.f64 re -2)))) 1/3))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (pow.f64 re -2)))) 2))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(log1p.f64 (expm1.f64 (+.f64 1/2 (pow.f64 re -2))))
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(fma.f64 (pow.f64 re -2) 1 1/2)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(fma.f64 1 (pow.f64 re -2) 1/2)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2)
(fma.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)) 1/2)
(fma.f64 (/.f64 1 re) (/.f64 1 re) 1/2)
(+.f64 (/.f64 1 (*.f64 re re)) 1/2)
(+.f64 1/2 (pow.f64 re -2))
(fma.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2) 1/2)
(+.f64 1/2 (pow.f64 (pow.f64 (cbrt.f64 re) -2) 3))
(+.f64 (*.f64 1/2 (pow.f64 re -2)) (*.f64 1/2 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(+.f64 0 (pow.f64 re -2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -2))) 1)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (pow.f64 re -2) 1)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 1 (pow.f64 re -2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)))
(*.f64 (cbrt.f64 (pow.f64 re -4)) (pow.f64 (cbrt.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (cbrt.f64 (pow.f64 re -4)))
(*.f64 (/.f64 1 re) (/.f64 1 re))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (pow.f64 (cbrt.f64 re) -4) (pow.f64 (cbrt.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (pow.f64 (cbrt.f64 re) -4))
(pow.f64 (pow.f64 (cbrt.f64 re) -2) 3)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(sqrt.f64 (pow.f64 re -4))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(log.f64 (exp.f64 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -2))))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(cbrt.f64 (pow.f64 re -6))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(expm1.f64 (log1p.f64 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 -2 (log.f64 re)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 1) 1))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 re) -2)) 3))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (pow.f64 (cbrt.f64 re) -4))
(pow.f64 (pow.f64 (cbrt.f64 re) -2) 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -6)) 1/3))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 re)) 3) 1/3))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (log.f64 (*.f64 re re)) -1))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (+.f64 (neg.f64 (log.f64 re)) (*.f64 (log.f64 re) -1)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (neg.f64 (log.f64 re))))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(exp.f64 (+.f64 (*.f64 (log.f64 re) -1) (*.f64 (log.f64 re) -1)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(log1p.f64 (expm1.f64 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)

eval47.0ms (0.5%)

Compiler

Compiled 1595 to 1304 computations (18.2% saved)

prune81.0ms (0.9%)

Pruning

32 alts after pruning (22 fresh and 10 done)

PrunedKeptTotal
New1152117
Fresh12021
Picked145
Done066
Total11732149
Accuracy
100.0%
Counts
149 → 32
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.1%
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
41.5%
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
15.8%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2))
51.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
16.3%
(*.f64 262144 (/.f64 1 (*.f64 re re)))
6.1%
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
5.8%
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
8.6%
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
17.0%
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
16.3%
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
5.9%
(*.f64 262144 (+.f64 1/2 re))
9.1%
(*.f64 262144 (*.f64 re re))
2.4%
(*.f64 262144 (*.f64 re -2))
34.8%
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
63.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
57.3%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
48.7%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
57.0%
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
6.2%
(*.f64 1/2 262144)
9.2%
(*.f64 1/2 3/2)
8.4%
(*.f64 1/2 3/4)
7.8%
(*.f64 1/2 1/4)
7.3%
(*.f64 1/2 1/16)
7.0%
(*.f64 1/2 1/64)
3.3%
(*.f64 1/2 -1/8)
3.5%
(*.f64 1/2 -1/4)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
4.0%
(*.f64 1/2 -2)
52.1%
(cos.f64 re)
30.0%
1
Compiler

Compiled 537 to 412 computations (23.3% saved)

regimes236.0ms (2.7%)

Counts
40 → 1
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 -1/4)
(*.f64 1/2 -1/8)
(*.f64 1/2 1/64)
(*.f64 1/2 1/16)
(*.f64 1/2 1/4)
(*.f64 1/2 3/4)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 262144 (*.f64 re -2))
(*.f64 262144 (*.f64 re re))
(*.f64 262144 (+.f64 1/2 re))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re -2))
(*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

57.0ms
(*.f64 1/2 (cos.f64 re))
47.0ms
(cos.f64 re)
37.0ms
re
36.0ms
im
19.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 317 to 221 computations (30.3% saved)

regimes216.0ms (2.5%)

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

4 calls:

62.0ms
im
54.0ms
(cos.f64 re)
45.0ms
re
38.0ms
(*.f64 1/2 (cos.f64 re))
Results
AccuracySegmentsBranch
90.1%2re
98.4%3im
90.1%2(*.f64 1/2 (cos.f64 re))
90.1%2(cos.f64 re)
Compiler

Compiled 270 to 191 computations (29.3% saved)

regimes80.0ms (0.9%)

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

1 calls:

72.0ms
im
Results
AccuracySegmentsBranch
96.6%3im
Compiler

Compiled 243 to 176 computations (27.6% saved)

regimes71.0ms (0.8%)

Counts
34 → 3
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 -1/4)
(*.f64 1/2 -1/8)
(*.f64 1/2 1/64)
(*.f64 1/2 1/16)
(*.f64 1/2 1/4)
(*.f64 1/2 3/4)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 262144 (*.f64 re -2))
(*.f64 262144 (*.f64 re re))
(*.f64 262144 (+.f64 1/2 re))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

63.0ms
im
Results
AccuracySegmentsBranch
93.8%3im
Compiler

Compiled 213 to 160 computations (24.9% saved)

regimes207.0ms (2.3%)

Counts
33 → 4
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 -1/4)
(*.f64 1/2 -1/8)
(*.f64 1/2 1/64)
(*.f64 1/2 1/16)
(*.f64 1/2 1/4)
(*.f64 1/2 3/4)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 262144 (*.f64 re -2))
(*.f64 262144 (*.f64 re re))
(*.f64 262144 (+.f64 1/2 re))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(pow.f64 (*.f64 (cos.f64 re) 1/5159780352) -2)
(*.f64 262144 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

79.0ms
im
60.0ms
re
30.0ms
(*.f64 1/2 (cos.f64 re))
25.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
84.9%2re
84.9%2(*.f64 1/2 (cos.f64 re))
84.9%2(cos.f64 re)
90.1%4im
Compiler

Compiled 218 to 164 computations (24.8% saved)

regimes253.0ms (2.9%)

Counts
29 → 6
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 -1/4)
(*.f64 1/2 -1/8)
(*.f64 1/2 1/64)
(*.f64 1/2 1/16)
(*.f64 1/2 1/4)
(*.f64 1/2 3/4)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 262144 (*.f64 re -2))
(*.f64 262144 (*.f64 re re))
(*.f64 262144 (+.f64 1/2 re))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
Outputs
(cos.f64 re)
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Calls

3 calls:

116.0ms
im
68.0ms
(cos.f64 re)
63.0ms
re
Results
AccuracySegmentsBranch
70.7%4re
73.3%4(cos.f64 re)
86.4%6im
Compiler

Compiled 176 to 135 computations (23.3% saved)

regimes88.0ms (1%)

Counts
28 → 5
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 -1/4)
(*.f64 1/2 -1/8)
(*.f64 1/2 1/64)
(*.f64 1/2 1/16)
(*.f64 1/2 1/4)
(*.f64 1/2 3/4)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 262144 (*.f64 re -2))
(*.f64 262144 (*.f64 re re))
(*.f64 262144 (+.f64 1/2 re))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(*.f64 262144 (+.f64 1/2 (pow.f64 re -2)))
Outputs
(cos.f64 re)
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Calls

1 calls:

80.0ms
im
Results
AccuracySegmentsBranch
81.2%5im
Compiler

Compiled 160 to 122 computations (23.8% saved)

regimes127.0ms (1.4%)

Counts
26 → 5
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 -1/4)
(*.f64 1/2 -1/8)
(*.f64 1/2 1/64)
(*.f64 1/2 1/16)
(*.f64 1/2 1/4)
(*.f64 1/2 3/4)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 262144 (*.f64 re -2))
(*.f64 262144 (*.f64 re re))
(*.f64 262144 (+.f64 1/2 re))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 262144 (+.f64 1/2 (-.f64 re -2)))
(*.f64 262144 (+.f64 1/2 (/.f64 re re)))
(*.f64 262144 (/.f64 1 (*.f64 re re)))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 -1/262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (-.f64 -2 (*.f64 re re))))
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Outputs
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Calls

2 calls:

75.0ms
im
47.0ms
re
Results
AccuracySegmentsBranch
53.7%3re
59.7%5im
Compiler

Compiled 154 to 117 computations (24% saved)

regimes49.0ms (0.6%)

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

1 calls:

44.0ms
im
Results
AccuracySegmentsBranch
53.8%3im
Compiler

Compiled 138 to 108 computations (21.7% saved)

regimes25.0ms (0.3%)

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

2 calls:

11.0ms
re
10.0ms
im
Results
AccuracySegmentsBranch
48.7%1re
48.7%1im
Compiler

Compiled 78 to 67 computations (14.1% saved)

regimes48.0ms (0.5%)

Counts
15 → 2
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 -1/4)
(*.f64 1/2 -1/8)
(*.f64 1/2 1/64)
(*.f64 1/2 1/16)
(*.f64 1/2 1/4)
(*.f64 1/2 3/4)
(*.f64 1/2 3/2)
(*.f64 1/2 262144)
(*.f64 262144 (*.f64 re -2))
(*.f64 262144 (*.f64 re re))
(*.f64 262144 (+.f64 1/2 re))
Outputs
1
(*.f64 262144 (*.f64 re re))
Calls

2 calls:

26.0ms
re
17.0ms
im
Results
AccuracySegmentsBranch
36.2%2im
35.2%2re
Compiler

Compiled 57 to 51 computations (10.5% saved)

regimes22.0ms (0.3%)

Accuracy

Total -18.6b remaining (-41.5%)

Threshold costs -18.6b (-41.5%)

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

2 calls:

9.0ms
im
9.0ms
re
Results
AccuracySegmentsBranch
30.0%1re
30.0%1im
Compiler

Compiled 47 to 44 computations (6.4% saved)

bsearch56.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
8.005166623344716e+76
1.3217467450912058e+77
42.0ms
1.5745326965198972e-16
4.728373586216324e-13
Results
18.0ms74×body256valid
17.0ms39×body1024valid
5.0ms41×body256infinite
4.0ms14×body512valid
4.0ms11×body512infinite
4.0ms12×body1024infinite
1.0msbody2048valid
Compiler

Compiled 306 to 238 computations (22.2% saved)

bsearch80.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
8.005166623344716e+76
1.3217467450912058e+77
46.0ms
1.5745326965198972e-16
4.728373586216324e-13
Results
19.0ms33×body1024valid
15.0ms39×body256infinite
15.0ms78×body256valid
11.0ms16×body1024infinite
7.0ms17×body512valid
5.0msbody512infinite
Compiler

Compiled 234 to 190 computations (18.8% saved)

bsearch122.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
56.0ms
7.110353685425327e+152
1.224365542895551e+155
66.0ms
1.5745326965198972e-16
4.728373586216324e-13
Results
28.0ms35×body1024valid
27.0ms79×body256valid
22.0ms29×body1024infinite
19.0ms63×body256infinite
10.0ms20×body512infinite
8.0ms14×body512valid
Compiler

Compiled 314 to 251 computations (20.1% saved)

bsearch126.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
7.110353685425327e+152
1.224365542895551e+155
42.0ms
6.552323263076629e+73
8.005166623344716e+76
60.0ms
52.64668111863332
152441097.9745084
Results
39.0ms87×body1024infinite
30.0ms166×body256infinite
16.0ms27×body1024valid
14.0ms53×body256valid
11.0ms35×body512infinite
6.0ms15×body512valid
1.0msbody2048valid
Compiler

Compiled 576 to 475 computations (17.5% saved)

bsearch108.0ms (1.2%)

Algorithm
binary-search
Stop Event
predicate-same
predicate-same
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
2.852101352965616e+240
5.4568623050213316e+240
20.0ms
1.8449345286196103e+173
1.280290415087209e+175
20.0ms
2.356978595050973e+133
3.4779237003119295e+134
26.0ms
6.552323263076629e+73
8.005166623344716e+76
35.0ms
52.64668111863332
152441097.9745084
Results
34.0ms250×body256infinite
31.0ms99×body1024infinite
11.0ms51×body512infinite
11.0ms29×body1024valid
8.0ms53×body256valid
4.0ms13×body512valid
1.0msbody2048valid
Compiler

Compiled 705 to 572 computations (18.9% saved)

bsearch90.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
predicate-same
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
2.852101352965616e+240
5.4568623050213316e+240
16.0ms
1.8449345286196103e+173
1.280290415087209e+175
42.0ms
1.517430901572028e+131
2.356978595050973e+133
19.0ms
25.932685518612384
52.64668111863332
Results
30.0ms166×body256infinite
29.0ms69×body1024infinite
9.0ms24×body1024valid
7.0ms48×body256valid
5.0ms21×body512infinite
2.0msbody512valid
Compiler

Compiled 557 to 442 computations (20.6% saved)

bsearch89.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
predicate-same
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
2.852101352965616e+240
5.4568623050213316e+240
31.0ms
1.8449345286196103e+173
1.280290415087209e+175
23.0ms
1.517430901572028e+131
2.356978595050973e+133
21.0ms
25.932685518612384
52.64668111863332
Results
33.0ms26×body512infinite
18.0ms59×body1024infinite
14.0ms107×body256infinite
10.0ms26×body1024valid
7.0ms44×body256valid
2.0ms10×body512valid
Compiler

Compiled 478 to 382 computations (20.1% saved)

bsearch65.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
1.8449345286196103e+173
1.280290415087209e+175
36.0ms
52.64668111863332
152441097.9745084
Results
15.0ms42×body1024infinite
14.0ms31×body1024valid
13.0ms84×body256infinite
12.0ms73×body256valid
5.0ms18×body512infinite
2.0msbody512valid
Compiler

Compiled 338 to 270 computations (20.1% saved)

bsearch44.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
44.0ms
8.45848747441445e+26
1.7002064329469624e+31
Results
28.0ms35×body1024infinite
12.0ms82×body256infinite
2.0ms11×body512infinite
Compiler

Compiled 114 to 94 computations (17.5% saved)

simplify33.0ms (0.4%)

Algorithm
egg-herbie
Rules
32×*-commutative
12×+-commutative
if-if-or-not
sub-neg
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0110948
1149948
2151948
3152948
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 550) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im 420) (cos.f64 re) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 340000000000000017686312188499119055736780181869872959156693691821763352243002793750095692905951336752397348659017652472395996046819328) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 im 450000000000000020047229135371086777984880465728367546961105793539206689257852404857914966391357695045874567259910568532461074528845844678671430973813185228873479307804016640) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 2999999999999999856763762614458031433865700488237423340741952545624056810626962689897722672684312282798032173855097952908633952125371662987133340870542611577443260033399644444653584198181681843984480963840926248176582143040046086240180633600) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))))))
(if (<=.f64 im 52) (cos.f64 re) (if (<=.f64 im 11199999999999999645118315249521630554704162478884702661711501606019035823785638138279061523067117675088241204305835705357462839230464) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 800000000000000011231349004639764174259695764561033088750640343560170436389200864865473065948525494756898286110224815249543914214905117518982142176675373517734084845464715264) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 4499999999999999785145643921687047150798550732356135011112928818436085215940444034846584009026468424197048260782646929362950928188057494480700011305813917366164890050099466666980376297272522765976721445761389372264873214560069129360270950400) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))))))
(if (<=.f64 im 52) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 679999999999999971698982363624759704430631561907666009304528722571364889081563446239105003072410325459340429424011629401281159757824) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 200000000000000002807837251159941043564923941140258272187660085890042609097300216216368266487131373689224571527556203812385978553726279379745535544168843379433521211366178816) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 5199999999999999998489960262262910325442943623241522660745157701888344681955307250512723121388147809958393483140027227021315534744697548836215635378548832259106695000666717078797749478729960100037121007833363354044958795675946258881384022016) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))))))
(if (<=.f64 im 250) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 190000000000000005413364452654187877379438063715802645486051201652862642400220589079767126521837225853787199215760215612685204182632308625607053966847058735491456467243892736) (*.f64 262144 (/.f64 1 (*.f64 re re))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(if (<=.f64 im 1199999999999999988457275392) 1 (*.f64 262144 (*.f64 re re)))
1
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 119999999999999992791711785436734146363018478165098748993720564156436311965696) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 4555619344570199/9903520314283042199192993792) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 550) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im 550) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 2 (*.f64 (pow.f64 im 4) 1/12))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im 420) (cos.f64 re) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 340000000000000017686312188499119055736780181869872959156693691821763352243002793750095692905951336752397348659017652472395996046819328) (*.f64 1/2 (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 im 450000000000000020047229135371086777984880465728367546961105793539206689257852404857914966391357695045874567259910568532461074528845844678671430973813185228873479307804016640) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 2999999999999999856763762614458031433865700488237423340741952545624056810626962689897722672684312282798032173855097952908633952125371662987133340870542611577443260033399644444653584198181681843984480963840926248176582143040046086240180633600) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))))))
(if (<=.f64 im 420) (cos.f64 re) (if (<=.f64 im 80000000000000003764810759672437567132476811262933046114229676279185996251136) (*.f64 262144 (/.f64 1 (*.f64 re re))) (if (<=.f64 im 340000000000000017686312188499119055736780181869872959156693691821763352243002793750095692905951336752397348659017652472395996046819328) (*.f64 1/2 (+.f64 2 (*.f64 (pow.f64 im 4) 1/12))) (if (or (<=.f64 im 450000000000000020047229135371086777984880465728367546961105793539206689257852404857914966391357695045874567259910568532461074528845844678671430973813185228873479307804016640) (not (<=.f64 im 2999999999999999856763762614458031433865700488237423340741952545624056810626962689897722672684312282798032173855097952908633952125371662987133340870542611577443260033399644444653584198181681843984480963840926248176582143040046086240180633600))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))))))
(if (<=.f64 im 52) (cos.f64 re) (if (<=.f64 im 11199999999999999645118315249521630554704162478884702661711501606019035823785638138279061523067117675088241204305835705357462839230464) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 800000000000000011231349004639764174259695764561033088750640343560170436389200864865473065948525494756898286110224815249543914214905117518982142176675373517734084845464715264) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 4499999999999999785145643921687047150798550732356135011112928818436085215940444034846584009026468424197048260782646929362950928188057494480700011305813917366164890050099466666980376297272522765976721445761389372264873214560069129360270950400) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))))))
(if (<=.f64 im 52) (cos.f64 re) (if (<=.f64 im 11199999999999999645118315249521630554704162478884702661711501606019035823785638138279061523067117675088241204305835705357462839230464) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (or (<=.f64 im 800000000000000011231349004639764174259695764561033088750640343560170436389200864865473065948525494756898286110224815249543914214905117518982142176675373517734084845464715264) (not (<=.f64 im 4499999999999999785145643921687047150798550732356135011112928818436085215940444034846584009026468424197048260782646929362950928188057494480700011305813917366164890050099466666980376297272522765976721445761389372264873214560069129360270950400))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im 52) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 679999999999999971698982363624759704430631561907666009304528722571364889081563446239105003072410325459340429424011629401281159757824) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (<=.f64 im 200000000000000002807837251159941043564923941140258272187660085890042609097300216216368266487131373689224571527556203812385978553726279379745535544168843379433521211366178816) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 5199999999999999998489960262262910325442943623241522660745157701888344681955307250512723121388147809958393483140027227021315534744697548836215635378548832259106695000666717078797749478729960100037121007833363354044958795675946258881384022016) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))))))
(if (<=.f64 im 52) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 679999999999999971698982363624759704430631561907666009304528722571364889081563446239105003072410325459340429424011629401281159757824) (*.f64 262144 (+.f64 1/2 (*.f64 (/.f64 1 re) (/.f64 1 re)))) (if (or (<=.f64 im 200000000000000002807837251159941043564923941140258272187660085890042609097300216216368266487131373689224571527556203812385978553726279379745535544168843379433521211366178816) (not (<=.f64 im 5199999999999999998489960262262910325442943623241522660745157701888344681955307250512723121388147809958393483140027227021315534744697548836215635378548832259106695000666717078797749478729960100037121007833363354044958795675946258881384022016))) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im 250) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 190000000000000005413364452654187877379438063715802645486051201652862642400220589079767126521837225853787199215760215612685204182632308625607053966847058735491456467243892736) (*.f64 262144 (/.f64 1 (*.f64 re re))) (*.f64 1/2 (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 250) (not (<=.f64 im 190000000000000005413364452654187877379438063715802645486051201652862642400220589079767126521837225853787199215760215612685204182632308625607053966847058735491456467243892736))) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 262144 (/.f64 1 (*.f64 re re))))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(if (<=.f64 im 1199999999999999988457275392) 1 (*.f64 262144 (*.f64 re re)))
(if (<=.f64 im 1199999999999999988457275392) 1 (*.f64 (*.f64 re re) 262144))
1
Compiler

Compiled 374 to 272 computations (27.3% saved)

soundness1.2s (13.5%)

Rules
1390×fma-def
1390×fma-def
1390×fma-def
1390×fma-def
1390×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01101290
13201160
210071160
352001160
028133
1616133
02053852
14683360
212703112
366303112
01101290
13201160
210071160
352001160
028133
1616133
028133
1616133
01101290
13201160
210071160
352001160
02053852
14683360
212703112
366303112
028133
1616133
02432505
15361945
216511945
01233
126233
2294733
02053852
14683360
212703112
366303112
02053852
14683360
212703112
366303112
02053852
14683360
212703112
366303112
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
Compiler

Compiled 215 to 168 computations (21.9% saved)

end1.0ms (0%)

preprocess257.0ms (2.9%)

Remove

(abs im)

(abs re)

Compiler

Compiled 782 to 500 computations (36.1% saved)

Profiling

Loading profile data...