math.cos on complex, real part

Time bar (total: 6.5s)

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.0s (31.1%)

Results
471.0ms2552×body256valid
440.0ms1043×body1024valid
434.0ms2570×body256infinite
346.0ms1018×body1024infinite
189.0ms532×body512valid
122.0ms537×body512infinite
3.0msbody2048valid
Bogosity

preprocess104.0ms (1.6%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
027140
181140
2182140
3343132
4674132
51905132
63540132
73945132
84964132
95834132
107272132
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 (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 (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 15 to 12 computations (20% saved)

simplify96.0ms (1.5%)

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

Useful iterations: 3 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Accurracy
100.0%
Counts
4 → 1
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)

localize112.0ms (1.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
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
1 → 24
Calls

6 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)))

rewrite36.0ms (0.6%)

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
01335
127335
2427735
Stop Event
unsound
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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))

simplify64.0ms (1%)

Algorithm
egg-herbie
Rules
1156×fma-neg
1106×div-sub
876×cancel-sign-sub-inv
696×associate-*r*
696×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0951035
1285921
2906921
34789921
Stop Event
node limit
Counts
47 → 45
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.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))
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/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 -1/4 (*.f64 re re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 1/2 (+.f64 (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 (*.f64 1/48 (pow.f64 re 4)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.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 (*.f64 1/48 (pow.f64 re 4)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (fma.f64 (*.f64 (cos.f64 re) 1/24) (pow.f64 im 4) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 6) 1/720))))
(*.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)))
(+.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)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(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))
(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)

eval12.0ms (0.2%)

Compiler

Compiled 653 to 319 computations (51.1% saved)

prune17.0ms (0.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New39645
Fresh000
Picked011
Done000
Total39746
Accurracy
100.0%
Counts
46 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.0%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
7.8%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
65.5%
(*.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)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.8%
(cos.f64 re)
74.0%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
7.8%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
65.5%
(*.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)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.8%
(cos.f64 re)
Compiler

Compiled 254 to 184 computations (27.6% saved)

localize134.0ms (2.1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.6%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
99.9%
(*.f64 (cos.f64 re) (*.f64 im im))
Compiler

Compiled 75 to 24 computations (68% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite68.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1066×log-prod
826×exp-prod
730×prod-exp
652×pow-prod-down
554×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
122734
2265134
Stop Event
node limit
Counts
2 → 67
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (*.f64 im im))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
Outputs
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 (cos.f64 re)) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (log.f64 (cos.f64 re)) (*.f64 (log.f64 (*.f64 im im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (log.f64 (*.f64 im im))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (*.f64 (log.f64 (*.f64 im im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (cos.f64 re) im))))
(exp.f64 (+.f64 (log.f64 (*.f64 im im)) (*.f64 (log.f64 (cos.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (cos.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (cos.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im im)) 1) (log.f64 (cos.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im im)) 1) (*.f64 (log.f64 (cos.f64 re)) 1)))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) im)) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (*.f64 (/.f64 1 (cos.f64 re)) -1/2) (*.f64 (/.f64 1 (cos.f64 re)) -1/2))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(/.f64 1 (*.f64 (pow.f64 (cos.f64 re) 2) 4))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(exp.f64 (+.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2)))))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))

simplify93.0ms (1.4%)

Algorithm
egg-herbie
Rules
858×log-prod
564×fma-def
524×associate-*r*
472×associate-*l*
466×associate-/l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02152169
14732073
210612037
332282031
477352031
Stop Event
node limit
Counts
103 → 109
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4))))
(+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4)))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 (cos.f64 re)) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (log.f64 (cos.f64 re)) (*.f64 (log.f64 (*.f64 im im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (log.f64 (*.f64 im im))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (*.f64 (log.f64 (*.f64 im im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (cos.f64 re) im))))
(exp.f64 (+.f64 (log.f64 (*.f64 im im)) (*.f64 (log.f64 (cos.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (cos.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (cos.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im im)) 1) (log.f64 (cos.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im im)) 1) (*.f64 (log.f64 (cos.f64 re)) 1)))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) im)) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (*.f64 (/.f64 1 (cos.f64 re)) -1/2) (*.f64 (/.f64 1 (cos.f64 re)) -1/2))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(/.f64 1 (*.f64 (pow.f64 (cos.f64 re) 2) 4))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(exp.f64 (+.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2)))))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
Outputs
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im))
(*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 im (*.f64 (fma.f64 (*.f64 -1/2 re) re 1) im))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)))))
(fma.f64 1/24 (*.f64 (*.f64 (pow.f64 re 4) im) im) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 1/24 (pow.f64 re 4) 1)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 (*.f64 -1/2 re) re 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)) (*.f64 -1/720 (*.f64 (*.f64 im im) (pow.f64 re 6))))))
(fma.f64 1/24 (*.f64 (*.f64 (pow.f64 re 4) im) im) (fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 1/24 (pow.f64 re 4) 1)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(fma.f64 (*.f64 re re) 1/4 1/4)
(fma.f64 re (*.f64 re 1/4) 1/4)
(*.f64 1/4 (fma.f64 re re 1))
(+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4))))
(+.f64 1/4 (fma.f64 1/4 (*.f64 re re) (*.f64 (pow.f64 re 4) 1/6)))
(+.f64 1/4 (fma.f64 (*.f64 re re) 1/4 (*.f64 (pow.f64 re 4) 1/6)))
(fma.f64 re (*.f64 re 1/4) (fma.f64 (pow.f64 re 4) 1/6 1/4))
(+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4)))))
(fma.f64 17/180 (pow.f64 re 6) (+.f64 1/4 (fma.f64 1/4 (*.f64 re re) (*.f64 (pow.f64 re 4) 1/6))))
(+.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 (pow.f64 re 4) 1/6)) (fma.f64 (pow.f64 re 6) 17/180 1/4))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 re (*.f64 re 1/4) (fma.f64 (pow.f64 re 4) 1/6 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 1)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (cos.f64 re)))) 2)) (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (cos.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (cos.f64 re))))) (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (cos.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1) 1))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 3))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (log.f64 (cos.f64 re)) (*.f64 (log.f64 im) 2)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (log.f64 (cos.f64 re)) (*.f64 (log.f64 (*.f64 im im)) 1)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (log.f64 (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (*.f64 (log.f64 im) 2)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 re)) 1) (*.f64 (log.f64 (*.f64 im im)) 1)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (cos.f64 re) im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (log.f64 (*.f64 im im)) (*.f64 (log.f64 (cos.f64 re)) 1)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (cos.f64 re))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (cos.f64 re)) 1)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im im)) 1) (log.f64 (cos.f64 re))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im im)) 1) (*.f64 (log.f64 (cos.f64 re)) 1)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) im)) (*.f64 (log.f64 im) 1)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (*.f64 (/.f64 1 (cos.f64 re)) -1/2) (*.f64 (/.f64 1 (cos.f64 re)) -1/2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1 (*.f64 (pow.f64 (cos.f64 re) 2) 4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (cos.f64 re) -2)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (+.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2)))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))

eval28.0ms (0.4%)

Compiler

Compiled 1555 to 855 computations (45% saved)

prune20.0ms (0.3%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New1063109
Fresh011
Picked145
Done011
Total1079116
Accurracy
100.0%
Counts
116 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.0%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
68.0%
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
11.2%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
65.5%
(*.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)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.8%
(cos.f64 re)
7.9%
1/4
74.0%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
68.0%
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
11.2%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
65.5%
(*.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)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.8%
(cos.f64 re)
7.9%
1/4
Compiler

Compiled 166 to 120 computations (27.7% saved)

localize109.0ms (1.7%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 81 to 33 computations (59.3% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite57.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1754×pow1
1602×add-exp-log
1602×log1p-expm1-u
1602×expm1-log1p-u
1564×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
119619
2221519
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
Outputs
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(-.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1)
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))

simplify53.0ms (0.8%)

Algorithm
egg-herbie
Rules
962×times-frac
904×associate-*r*
804×associate-*l*
706×fma-def
522×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0791053
12091011
2734997
33899965
Stop Event
node limit
Counts
45 → 50
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(-.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1)
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) (fma.f64 1/24 (pow.f64 re 4) 1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (fma.f64 re (*.f64 re -1/2) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1))) (*.f64 -1/720 (pow.f64 re 6)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(-.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/4 (*.f64 (*.f64 im im) (*.f64 im im))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 im (*.f64 1/2 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 im (*.f64 im -1/2))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 im im) (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 im (*.f64 1/2 im)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))

eval14.0ms (0.2%)

Compiler

Compiled 708 to 399 computations (43.6% saved)

prune15.0ms (0.2%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New46450
Fresh011
Picked123
Done055
Total471259
Accurracy
100.0%
Counts
59 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.0%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
68.0%
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
42.9%
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
46.1%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
11.2%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
65.5%
(*.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)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
22.5%
(*.f64 1/2 (*.f64 im im))
48.8%
(cos.f64 re)
7.9%
1/4
74.0%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
68.0%
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
42.9%
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
46.1%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
11.2%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
65.5%
(*.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)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
22.5%
(*.f64 1/2 (*.f64 im im))
48.8%
(cos.f64 re)
7.9%
1/4
Compiler

Compiled 228 to 166 computations (27.2% saved)

localize188.0ms (2.9%)

Local Accuracy

Found 6 expressions with local accuracy:

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

Compiled 90 to 38 computations (57.8% saved)

series3.0ms (0%)

Counts
6 → 96
Calls

24 calls:

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

rewrite112.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1396×log-prod
896×pow-prod-down
768×fma-def
710×pow-prod-up
666×pow-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01598
131098
2380098
Stop Event
node limit
Counts
6 → 185
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (*.f64 im im))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(*.f64 -1/2 (*.f64 re re))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
Outputs
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re)))
(+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/2 (*.f64 im im)))
(+.f64 0 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 1)
(*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(*.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (*.f64 1/4 (pow.f64 re 4)) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/4 (pow.f64 re 4))) (-.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 3) 1/3)
(pow.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(+.f64 0 (*.f64 -1/2 (*.f64 re re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re)))) 1)
(pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 re 4)) 1/2)
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 -1/2 (*.f64 re re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 re (sqrt.f64 -1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 1)
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (/.f64 1 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(/.f64 1 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) (neg.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(pow.f64 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 im (*.f64 1/2 im) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 im im)) 1 (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) 1) im (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 im)) (sqrt.f64 im) (cos.f64 re))

simplify94.0ms (1.5%)

Algorithm
egg-herbie
Rules
1552×unswap-sqr
990×times-frac
630×cancel-sign-sub-inv
546×log-prod
370×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03436317
18126147
228146065
Stop Event
node limit
Counts
281 → 190
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re)))
(+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/2 (*.f64 im im)))
(+.f64 0 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 1)
(*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(*.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (*.f64 1/4 (pow.f64 re 4)) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/4 (pow.f64 re 4))) (-.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 3) 1/3)
(pow.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(+.f64 0 (*.f64 -1/2 (*.f64 re re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re)))) 1)
(pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 re 4)) 1/2)
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 -1/2 (*.f64 re re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 re (sqrt.f64 -1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 1)
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (/.f64 1 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(/.f64 1 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) (neg.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(pow.f64 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 im (*.f64 1/2 im) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 im im)) 1 (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) 1) im (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 im)) (sqrt.f64 im) (cos.f64 re))
Outputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 re (*.f64 -1/2 re)))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(*.f64 1/2 (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (*.f64 im im))
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 im im))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(*.f64 1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(*.f64 1/2 (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (*.f64 im im))
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 im im))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(*.f64 1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 0 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 1)
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 1)
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 2))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(*.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))))
(pow.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) 2)
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (*.f64 1/4 (pow.f64 re 4)) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (*.f64 -1/8 (pow.f64 (*.f64 re re) 3))) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (*.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/8)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (*.f64 re re) (*.f64 (*.f64 im im) -1/4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/8)) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 re 4) 1/4 (*.f64 (*.f64 (*.f64 im im) -1/4) (neg.f64 (*.f64 re re))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/4 (pow.f64 re 4))) (-.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 -1/2 (*.f64 re re))))
(/.f64 (*.f64 1/4 (-.f64 (pow.f64 im 4) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 re re))))
(/.f64 1/4 (/.f64 (*.f64 1/2 (+.f64 (*.f64 im im) (*.f64 re re))) (-.f64 (pow.f64 im 4) (pow.f64 re 4))))
(*.f64 1/2 (/.f64 (-.f64 (pow.f64 im 4) (pow.f64 re 4)) (+.f64 (*.f64 im im) (*.f64 re re))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 1)
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 3)
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 2) 1/2)
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 3) 1/3)
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(pow.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 2))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) 3))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 1))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))) 1) 1))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 3))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))) 1/3))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2)))) 2))
(pow.f64 (hypot.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 -1/2))) 2)
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))
(fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 -1/2 re)))
(+.f64 0 (*.f64 -1/2 (*.f64 re re)))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) re) re)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) re) re)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) re) re))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (*.f64 re (*.f64 -1/2 re)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 re (*.f64 -1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re)))) 1)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (*.f64 1/4 (pow.f64 re 4)) 1/2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/4))
(fabs.f64 (*.f64 re (*.f64 -1/2 re)))
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/4))
(fabs.f64 (*.f64 re (*.f64 -1/2 re)))
(log.f64 (pow.f64 (exp.f64 (*.f64 -1/2 re)) re))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 re re)))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))) 1))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))) 1) 1))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re)))) 3))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 -1/2 (*.f64 re re)))) 1/3))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (*.f64 re (sqrt.f64 -1/2))) 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(+.f64 0 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))))
(*.f64 1/2 (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/4 (pow.f64 im 4)) 1/2)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (*.f64 im im))
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 im im))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) 3))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 im 6))) 1/3))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 3) 1/3))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(*.f64 1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (/.f64 1 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 1 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 -1/2 (*.f64 im (*.f64 im (cos.f64 re)))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 -1/2 im) (*.f64 im (cos.f64 re))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im (*.f64 im (cos.f64 re)))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) (neg.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2) 1/2)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) -1)
(*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(pow.f64 (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) -1)
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (exp.f64 (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1) 1))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 3))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3)) 1/3))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 im (*.f64 1/2 im) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 im im)) 1 (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) 1) im (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 im)) (sqrt.f64 im) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))

eval70.0ms (1.1%)

Compiler

Compiled 3573 to 2246 computations (37.1% saved)

prune39.0ms (0.6%)

Pruning

15 alts after pruning (5 fresh and 10 done)

PrunedKeptTotal
New2364240
Fresh011
Picked134
Done077
Total23715252
Accurracy
100.0%
Counts
252 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.0%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
22.5%
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
68.0%
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
28.3%
(+.f64 1 (*.f64 re (*.f64 -1/2 re)))
46.1%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
11.2%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
65.5%
(*.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)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
22.5%
(*.f64 1/2 (*.f64 im im))
40.6%
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
48.8%
(cos.f64 re)
34.5%
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
7.9%
1/4
Compiler

Compiled 265 to 170 computations (35.8% saved)

regimes170.0ms (2.6%)

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

6 calls:

132.0ms
re
10.0ms
im
8.0ms
(cos.f64 re)
8.0ms
(*.f64 1/2 (cos.f64 re))
5.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 168 to 97 computations (42.3% saved)

regimes79.0ms (1.2%)

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

3 calls:

33.0ms
(cos.f64 re)
25.0ms
im
17.0ms
re
Results
AccuracySegmentsBranch
87.8%2re
94.9%3im
89.8%4(cos.f64 re)
Compiler

Compiled 130 to 72 computations (44.6% saved)

regimes36.0ms (0.5%)

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

1 calls:

32.0ms
im
Results
AccuracySegmentsBranch
92.5%4im
Compiler

Compiled 113 to 64 computations (43.4% saved)

regimes50.0ms (0.8%)

Counts
15 → 2
Calls
Call 1
Inputs
1/4
(*.f64 1/2 (*.f64 im im))
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 1 (*.f64 re (*.f64 -1/2 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (cos.f64 re) (cos.f64 re))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Calls

3 calls:

19.0ms
im
15.0ms
re
13.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
81.9%2(cos.f64 re)
81.8%2re
86.2%2im
Compiler

Compiled 106 to 64 computations (39.6% saved)

regimes87.0ms (1.3%)

Counts
14 → 2
Calls
Call 1
Inputs
1/4
(*.f64 1/2 (*.f64 im im))
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 1 (*.f64 re (*.f64 -1/2 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (cos.f64 re) (cos.f64 re))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
Outputs
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
Calls

1 calls:

36.0ms
im
Results
AccuracySegmentsBranch
86.0%2im
Compiler

Compiled 91 to 53 computations (41.8% saved)

regimes171.0ms (2.6%)

Counts
12 → 2
Calls
Call 1
Inputs
1/4
(*.f64 1/2 (*.f64 im im))
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(+.f64 1 (*.f64 re (*.f64 -1/2 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (cos.f64 re) (cos.f64 re))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
Outputs
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
Calls

3 calls:

73.0ms
(cos.f64 re)
51.0ms
im
43.0ms
re
Results
AccuracySegmentsBranch
70.1%3re
68.0%1(cos.f64 re)
80.0%2im
Compiler

Compiled 84 to 52 computations (38.1% saved)

regimes82.0ms (1.3%)

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

2 calls:

75.0ms
im
5.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
68.0%1(cos.f64 re)
70.7%3im
Compiler

Compiled 63 to 36 computations (42.9% saved)

regimes36.0ms (0.6%)

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

2 calls:

22.0ms
(cos.f64 re)
13.0ms
im
Results
AccuracySegmentsBranch
70.3%3im
63.8%2(cos.f64 re)
Compiler

Compiled 38 to 26 computations (31.6% saved)

regimes78.0ms (1.2%)

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

2 calls:

49.0ms
re
28.0ms
im
Results
AccuracySegmentsBranch
47.8%3re
48.6%3im
Compiler

Compiled 35 to 24 computations (31.4% saved)

regimes11.0ms (0.2%)

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

1 calls:

10.0ms
im
Results
AccuracySegmentsBranch
48.0%3im
Compiler

Compiled 25 to 17 computations (32% saved)

regimes18.0ms (0.3%)

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

2 calls:

9.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
24.5%2re
29.2%3im
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes6.0ms (0.1%)

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

1 calls:

6.0ms
im
Results
AccuracySegmentsBranch
27.2%2im
Compiler

Compiled 11 to 8 computations (27.3% saved)

regimes5.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch43.0ms (0.7%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
Steps
TimeLeftRight
15.0ms
6.277171375435945e+152
2.6484477199207807e+155
28.0ms
0.00011293278883522369
0.031223260606885853
Results
12.0ms84×body256valid
10.0ms26×body1024valid
6.0ms49×body256infinite
4.0ms18×body512valid
4.0ms15×body1024infinite
3.0ms16×body512infinite
Compiler

Compiled 408 to 287 computations (29.7% saved)

bsearch45.0ms (0.7%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
1.8794854598667688e+198
7.966211702010169e+200
14.0ms
4.921345956389899e+122
9.670300096196232e+122
26.0ms
0.00011293278883522369
0.031223260606885853
Results
11.0ms86×body256valid
9.0ms25×body1024valid
9.0ms63×body256infinite
5.0ms17×body1024infinite
4.0ms17×body512valid
3.0ms16×body512infinite
Compiler

Compiled 410 to 314 computations (23.4% saved)

bsearch30.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
29.0ms
0.00011293278883522369
0.031223260606885853
Results
12.0ms34×body1024valid
10.0ms76×body256valid
5.0ms18×body512valid
Compiler

Compiled 194 to 150 computations (22.7% saved)

bsearch87.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
87.0ms
153.69930657438388
672285404.2965555
Results
62.0ms18×body1024valid
9.0ms65×body256valid
6.0ms15×body1024infinite
4.0ms28×body256infinite
3.0ms13×body512valid
1.0msbody512infinite
Compiler

Compiled 207 to 158 computations (23.7% saved)

bsearch3.0ms (0%)

Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
3.0ms
5.370862307701181e+50
5.912042108573009e+51
Results
1.0ms10×body256infinite
1.0msbody1024infinite
1.0msbody512infinite
Compiler

Compiled 38 to 30 computations (21.1% saved)

bsearch61.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
8.752983986989354e+128
2.4111912277432106e+132
33.0ms
153.69930657438388
672285404.2965555
Results
17.0ms119×body256infinite
15.0ms45×body1024infinite
12.0ms44×body512infinite
6.0ms15×body1024valid
5.0ms35×body256valid
3.0ms14×body512valid
Compiler

Compiled 313 to 250 computations (20.1% saved)

bsearch74.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
8.752983986989354e+128
2.4111912277432106e+132
45.0ms
0.031223260606885853
153.69930657438388
Results
28.0ms30×body1024valid
13.0ms29×body1024infinite
11.0ms81×body256valid
10.0ms84×body256infinite
4.0ms17×body512valid
3.0ms15×body512infinite
Compiler

Compiled 338 to 270 computations (20.1% saved)

bsearch81.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
1.0017206525404562e+152
6.277171375435945e+152
17.0ms
121827449377545.9
520553425951417.0
Results
16.0ms131×body256infinite
11.0ms37×body1024infinite
5.0ms24×body512infinite
Compiler

Compiled 258 to 206 computations (20.2% saved)

bsearch93.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
1.0017206525404562e+152
6.277171375435945e+152
75.0ms
121827449377545.9
520553425951417.0
Results
74.0ms128×body256infinite
9.0ms32×body1024infinite
7.0ms32×body512infinite
Compiler

Compiled 210 to 170 computations (19% saved)

bsearch83.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
82.0ms
153.69930657438388
672285404.2965555
Results
61.0ms63×body256valid
6.0ms17×body1024valid
4.0ms16×body512valid
4.0ms27×body256infinite
3.0msbody1024infinite
3.0ms13×body512infinite
Compiler

Compiled 126 to 104 computations (17.5% saved)

simplify17.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
094701
1130701
2132701
3133701
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 7724574080865875/576460752303423488) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (if (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))))
(if (<=.f64 im 7493989779944505/1152921504606846976) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (if (<=.f64 im 659999999999999976481545337324850977652717398452634388419965434551044736834953181565608084655613373923068720623945254961152) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 2000000000000000035071083132038801083074883730354400172291596209872683144611026386756567543047528730409800656060749068563722022211735752455171981598432100651134067999321522986113265016494122002808832) (*.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)))))))
(if (<=.f64 im 2132904783522667/1152921504606846976) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 380) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 999999999999999993220948674361627976461708441944064) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cbrt.f64 (*.f64 1/8 (pow.f64 im 6))))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(if (<=.f64 im 680) (cos.f64 re) (if (<=.f64 im 260000000000000000767848020325490243540841509006935181522243120531829712868919377751928904556277657209237886216509046773027499409408) (+.f64 1 (*.f64 re (*.f64 -1/2 re))) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 86) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 41999999999999998078163589239788926395955007793663427905222041965589684319971741954860654139043532110366910692873149282991065792512) (+.f64 1 (*.f64 re (*.f64 -1/2 re))) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 122000000000000) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 195000000000000005530134988394275899665636953307969977661704486743354790468717363233529085825986647041662798352389781960632721784479407422471678600413184) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 122000000000000) 1/4 (if (<=.f64 im 149999999999999995308242615126588962212658482384536483079571319804819866126826289494846520008938364478927682255517486914178750834015815758398501955829760) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (*.f64 1/2 (*.f64 im im))))
(if (<=.f64 im 155) 1/4 (*.f64 1/2 (*.f64 im im)))
1/4
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 7724574080865875/576460752303423488) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (if (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))))
(if (or (<=.f64 im 7724574080865875/576460752303423488) (not (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392))) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 7493989779944505/1152921504606846976) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (if (<=.f64 im 659999999999999976481545337324850977652717398452634388419965434551044736834953181565608084655613373923068720623945254961152) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (if (<=.f64 im 2000000000000000035071083132038801083074883730354400172291596209872683144611026386756567543047528730409800656060749068563722022211735752455171981598432100651134067999321522986113265016494122002808832) (*.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)))))))
(if (<=.f64 im 7493989779944505/1152921504606846976) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (if (or (<=.f64 im 659999999999999976481545337324850977652717398452634388419965434551044736834953181565608084655613373923068720623945254961152) (not (<=.f64 im 2000000000000000035071083132038801083074883730354400172291596209872683144611026386756567543047528730409800656060749068563722022211735752455171981598432100651134067999321522986113265016494122002808832))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(if (<=.f64 im 2132904783522667/1152921504606846976) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 2132904783522667/1152921504606846976) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 380) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 380) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 999999999999999993220948674361627976461708441944064) (+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cbrt.f64 (*.f64 1/8 (pow.f64 im 6))))
(if (<=.f64 im 999999999999999993220948674361627976461708441944064) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/8 (pow.f64 im 6))))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(if (<=.f64 im 680) (cos.f64 re) (if (<=.f64 im 260000000000000000767848020325490243540841509006935181522243120531829712868919377751928904556277657209237886216509046773027499409408) (+.f64 1 (*.f64 re (*.f64 -1/2 re))) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 680) (cos.f64 re) (if (<=.f64 im 260000000000000000767848020325490243540841509006935181522243120531829712868919377751928904556277657209237886216509046773027499409408) (+.f64 1 (*.f64 re (*.f64 re -1/2))) (+.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(if (<=.f64 im 86) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 41999999999999998078163589239788926395955007793663427905222041965589684319971741954860654139043532110366910692873149282991065792512) (+.f64 1 (*.f64 re (*.f64 -1/2 re))) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(if (or (<=.f64 im 86) (not (<=.f64 im 41999999999999998078163589239788926395955007793663427905222041965589684319971741954860654139043532110366910692873149282991065792512))) (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (+.f64 1 (*.f64 re (*.f64 re -1/2))))
(if (<=.f64 im 122000000000000) (+.f64 1 (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 195000000000000005530134988394275899665636953307969977661704486743354790468717363233529085825986647041662798352389781960632721784479407422471678600413184) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(if (or (<=.f64 im 122000000000000) (not (<=.f64 im 195000000000000005530134988394275899665636953307969977661704486743354790468717363233529085825986647041662798352389781960632721784479407422471678600413184))) (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)))
(if (<=.f64 im 122000000000000) 1/4 (if (<=.f64 im 149999999999999995308242615126588962212658482384536483079571319804819866126826289494846520008938364478927682255517486914178750834015815758398501955829760) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (*.f64 1/2 (*.f64 im im))))
(if (<=.f64 im 155) 1/4 (*.f64 1/2 (*.f64 im im)))
1/4
Compiler

Compiled 280 to 201 computations (28.2% saved)

soundness1.3s (20.3%)

Rules
1754×pow1
1602×add-exp-log
1602×log1p-expm1-u
1602×expm1-log1p-u
1564×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
127335
2427735
0951035
1285921
2906921
34789921
02152169
14732073
210612037
332282031
477352031
0791053
12091011
2734997
33899965
02152169
14732073
210612037
332282031
477352031
0791053
12091011
2734997
33899965
0791053
12091011
2734997
33899965
03436317
18126147
228146065
01019
119619
2221519
01598
131098
2380098
03436317
18126147
228146065
01598
131098
2380098
0951035
1285921
2906921
34789921
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
unsound
Compiler

Compiled 294 to 211 computations (28.2% saved)

end0.0ms (0%)

preprocess167.0ms (2.6%)

Remove

(abs im)

(abs re)

Compiler

Compiled 590 to 350 computations (40.7% saved)

Profiling

Loading profile data...