math.cos on complex, real part

Details

Time bar (total: 12.1s)

analyze2.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%199.8%-99.8%0%0%0%1
0%0%399.6%-299.6%0%0%0%2
100%399.6%0%-299.6%0%0%0%3
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample4.0s (33%)

Results
1.9s2539×body1024infinite
780.0ms2620×body256valid
585.0ms1035×body1024valid
369.0ms914×body512infinite
184.0ms492×body512valid
153.0ms656×body256infinite
Bogosity

preprocess128.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 15 to 12 computations (20% saved)

simplify109.0ms (0.9%)

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

Useful iterations: 3 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

Pruning

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)

localize289.0ms (2.4%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(cos.f64 re)
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series1.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@0
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0ms
im
@-inf
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0ms
re
@0
(cos.f64 re)
0.0ms
im
@inf
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0ms
re
@-inf
(cos.f64 re)

rewrite41.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
214×add-sqr-sqrt
208×pow1
208×*-un-lft-identity
200×add-exp-log
198×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
120424
2306424
Stop Event
unsound
Counts
2 → 23
Calls
Call 1
Inputs
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(cos.f64 re)
Outputs
-2
0
1/2
3/2
2
im
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cos.f64 re) 1)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (cos.f64 re)))

simplify106.0ms (0.9%)

Algorithm
egg-herbie
Rules
904×fma-def
882×associate-*r*
732×associate-*l*
640×distribute-lft-out
600×fma-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083505
1158473
2341465
3939461
43300461
56797461
Stop Event
node limit
Counts
39 → 59
Calls
Call 1
Inputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
-2
0
1/2
3/2
2
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cos.f64 re) 1)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
Outputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (fma.f64 im im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im 2)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (fma.f64 1/360 (pow.f64 im 6) 2)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 -1/2 (*.f64 re re) (fma.f64 1/24 (pow.f64 re 4) 1))
(fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/24) -1/2) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.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 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 -1/720 (pow.f64 re 6)))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) (fma.f64 -1/720 (pow.f64 re 6) 1)))
(fma.f64 -1/2 (*.f64 re re) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/720 (pow.f64 re 6) 1)))
(fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/24) -1/2) (fma.f64 -1/720 (pow.f64 re 6) 1))
-2
0
1/2
3/2
2
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 re -2))))
(fma.f64 -2 (cos.f64 (*.f64 re -2)) -2)
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (cos.f64 re) 2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) -2)
(/.f64 (+.f64 1 (cos.f64 (+.f64 re re))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cos.f64 re)
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)

eval27.0ms (0.2%)

Compiler

Compiled 922 to 493 computations (46.5% saved)

prune16.0ms (0.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New54559
Fresh000
Picked011
Done000
Total54660
Accurracy
100.0%
Counts
60 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.5%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
42.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
63.4%
(*.f64 (*.f64 1/2 1) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
65.5%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
42.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
63.4%
(*.f64 (*.f64 1/2 1) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 270 to 212 computations (21.5% saved)

localize861.0ms (7.1%)

Local Accuracy

Found 9 expressions with local accuracy:

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

Compiled 156 to 71 computations (54.5% saved)

series13.0ms (0.1%)

Counts
4 → 84
Calls

21 calls:

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

rewrite46.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
526×add-sqr-sqrt
508×pow1
508×*-un-lft-identity
488×add-exp-log
488×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026108
1561108
Stop Event
node limit
Counts
4 → 101
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 2 (*.f64 im im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
im
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(+.f64 -2 re)
(+.f64 -2 (neg.f64 re))
(+.f64 -2 (*.f64 (neg.f64 re) -2))
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re -2)
(+.f64 re re)
(+.f64 re (neg.f64 re))
(+.f64 re (fma.f64 (neg.f64 re) -2 re))
(+.f64 re (fma.f64 (neg.f64 re) re re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(-.f64 -2 re)
(-.f64 re -2)
(-.f64 re re)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log.f64 re))
(hypot.f64 -2 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 -2 re -2)
(fma.f64 -2 re re)
(fma.f64 re -2 -2)
(fma.f64 re -2 re)
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))

simplify85.0ms (0.7%)

Algorithm
egg-herbie
Rules
988×fma-def
588×associate-*r*
576×+-commutative
510×associate-*l*
498×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01643803
13773047
210163047
337493047
Stop Event
node limit
Counts
185 → 105
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 1/720 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 6))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(+.f64 -2 re)
(+.f64 -2 (neg.f64 re))
(+.f64 -2 (*.f64 (neg.f64 re) -2))
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re -2)
(+.f64 re re)
(+.f64 re (neg.f64 re))
(+.f64 re (fma.f64 (neg.f64 re) -2 re))
(+.f64 re (fma.f64 (neg.f64 re) re re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(-.f64 -2 re)
(-.f64 re -2)
(-.f64 re re)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(/.f64 (neg.f64 re) (neg.f64 re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log.f64 re))
(hypot.f64 -2 re)
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 -2 re -2)
(fma.f64 -2 re re)
(fma.f64 re -2 -2)
(fma.f64 re -2 re)
(fma.f64 re re -2)
(fma.f64 re re (neg.f64 re))
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 re re)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 re re)) (*.f64 -1/1440 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 6) -1/1440)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(cos.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
2
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 im 2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 im 2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 re re)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 re re)) (*.f64 -1/1440 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 6) -1/1440)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(cos.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 re re)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 1 (+.f64 (*.f64 1/720 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 6))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 re re)) (*.f64 -1/1440 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 6) -1/1440)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 -2 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(-.f64 (cos.f64 re) -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 (cos.f64 re) -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 (cos.f64 re) -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 (cos.f64 re) 1/3)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(sqrt.f64 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fabs.f64 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log.f64 (exp.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(cbrt.f64 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(cos.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(expm1.f64 (log.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(exp.f64 (log.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
-2
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
-1
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
-1/2
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
-1/4
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
-1/8
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
-1/512
0
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
1/512
1/64
1/16
1/8
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
1/4
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
1/2
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
1
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
3/2
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
2
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
3
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
4
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
6
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
8
9
16
27
64
512
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 -2 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(-.f64 (cos.f64 re) -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 (cos.f64 re) -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 (cos.f64 re) -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 (cos.f64 re) 1/3)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(sqrt.f64 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fabs.f64 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log.f64 (exp.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(cbrt.f64 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(cos.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(expm1.f64 (log.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(exp.f64 (log.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 -2 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 -2 (neg.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 -2 (*.f64 (neg.f64 re) -2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 re -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 re re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 re (neg.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 re (fma.f64 (neg.f64 re) -2 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 re (fma.f64 (neg.f64 re) re re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(-.f64 -2 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(-.f64 re -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(-.f64 re re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 -2 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 re -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 re re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(/.f64 (neg.f64 re) (neg.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 re -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(pow.f64 re 1/3)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(sqrt.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fabs.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log.f64 (exp.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(cbrt.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(expm1.f64 (log.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(hypot.f64 -2 re)
(exp.f64 (log.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 re) -2))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(log1p.f64 (expm1.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 -2 re -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 -2 re re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 re -2 -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 re -2 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 re re -2)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 re re (neg.f64 re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))

eval203.0ms (1.7%)

Compiler

Compiled 7051 to 4665 computations (33.8% saved)

prune78.0ms (0.6%)

Pruning

26 alts after pruning (24 fresh and 2 done)

PrunedKeptTotal
New51224536
Fresh000
Picked415
Done011
Total51626542
Accurracy
100.0%
Counts
542 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.7%
(fma.f64 re re -2)
16.9%
(pow.f64 re -2)
21.4%
(/.f64 re re)
2.8%
(/.f64 re -2)
2.9%
(/.f64 -2 re)
6.1%
(-.f64 re -2)
1.9%
(-.f64 -2 re)
8.6%
(+.f64 re (*.f64 (neg.f64 re) re))
2.7%
(+.f64 re (*.f64 (neg.f64 re) -2))
2.7%
(+.f64 re re)
44.7%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
7.9%
(+.f64 -2 (*.f64 (neg.f64 re) re))
57.3%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
49.5%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
26.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
5.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
54.8%
(*.f64 (*.f64 1/2 1) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
7.2%
(*.f64 (*.f64 1/2 1) 3/2)
6.4%
(*.f64 (*.f64 1/2 1) 1/2)
4.1%
(*.f64 (*.f64 1/2 1) -2)
44.7%
(*.f64 1/2 (fma.f64 im im 2))
63.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
18.4%
(log1p.f64 (expm1.f64 re))
42.0%
(cos.f64 re)
5.7%
(fma.f64 re re -2)
16.9%
(pow.f64 re -2)
21.4%
(/.f64 re re)
2.8%
(/.f64 re -2)
2.9%
(/.f64 -2 re)
6.1%
(-.f64 re -2)
1.9%
(-.f64 -2 re)
8.6%
(+.f64 re (*.f64 (neg.f64 re) re))
2.7%
(+.f64 re (*.f64 (neg.f64 re) -2))
2.7%
(+.f64 re re)
44.7%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
7.9%
(+.f64 -2 (*.f64 (neg.f64 re) re))
57.3%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
49.5%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
26.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
5.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
54.8%
(*.f64 (*.f64 1/2 1) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
7.2%
(*.f64 (*.f64 1/2 1) 3/2)
6.4%
(*.f64 (*.f64 1/2 1) 1/2)
4.1%
(*.f64 (*.f64 1/2 1) -2)
44.7%
(*.f64 1/2 (fma.f64 im im 2))
63.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
18.4%
(log1p.f64 (expm1.f64 re))
42.0%
(cos.f64 re)
Compiler

Compiled 870 to 690 computations (20.7% saved)

localize413.0ms (3.4%)

Local Accuracy

Found 3 expressions with local accuracy:

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

Compiled 65 to 34 computations (47.7% saved)

series1.0ms (0%)

Counts
3 → 32
Calls

9 calls:

TimeVariablePointExpression
0.0ms
im
@inf
(*.f64 1/2 (*.f64 im im))
0.0ms
im
@0
(*.f64 1/2 (*.f64 im im))
0.0ms
im
@0
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
0.0ms
im
@inf
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
0.0ms
im
@0
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

rewrite37.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
274×add-sqr-sqrt
262×pow1
262×*-un-lft-identity
256×add-exp-log
256×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
127233
2419633
Stop Event
unsound
Counts
3 → 51
Calls
Call 1
Inputs
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
Outputs
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im

simplify79.0ms (0.7%)

Algorithm
egg-herbie
Rules
1434×fma-def
768×distribute-lft-out
668×*-commutative
664×fma-neg
572×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
041571
171523
2138519
3346515
41222515
53178515
64252515
76567515
Stop Event
node limit
Counts
83 → 42
Calls
Call 1
Inputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 1/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))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
Outputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 im (fma.f64 1/12 (pow.f64 im 3) im) 2)
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (fma.f64 im im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im 2)))
(fma.f64 im (fma.f64 1/12 (pow.f64 im 3) im) (fma.f64 1/360 (pow.f64 im 6) 2))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (fma.f64 1/360 (pow.f64 im 6) 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 im im) 1/2)
(*.f64 im (*.f64 im 1/2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (*.f64 im im) 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27

eval9.0ms (0.1%)

Compiler

Compiled 325 to 254 computations (21.8% saved)

prune54.0ms (0.4%)

Pruning

29 alts after pruning (22 fresh and 7 done)

PrunedKeptTotal
New321042
Fresh71219
Picked055
Done022
Total392968
Accurracy
100.0%
Counts
68 → 29
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.7%
(fma.f64 re re -2)
44.7%
(fma.f64 im (*.f64 im 1/2) 1)
16.9%
(pow.f64 re -2)
2.9%
(/.f64 -2 re)
1.9%
(-.f64 -2 re)
8.6%
(+.f64 re (*.f64 (neg.f64 re) re))
2.7%
(+.f64 re (*.f64 (neg.f64 re) -2))
2.7%
(+.f64 re re)
44.7%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
7.9%
(+.f64 -2 (*.f64 (neg.f64 re) re))
57.3%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
49.5%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
26.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
5.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
4.1%
(*.f64 (*.f64 1/2 1) -2)
63.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
54.8%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
5.9%
(*.f64 1/2 27)
7.0%
(*.f64 1/2 3)
7.2%
(*.f64 1/2 3/2)
6.4%
(*.f64 1/2 1/2)
5.8%
(*.f64 1/2 1/16)
3.9%
(*.f64 1/2 -1/2)
4.0%
(*.f64 1/2 -1)
18.4%
(log1p.f64 (expm1.f64 re))
42.0%
(cos.f64 re)
21.4%
1
5.7%
(fma.f64 re re -2)
44.7%
(fma.f64 im (*.f64 im 1/2) 1)
16.9%
(pow.f64 re -2)
2.9%
(/.f64 -2 re)
1.9%
(-.f64 -2 re)
8.6%
(+.f64 re (*.f64 (neg.f64 re) re))
2.7%
(+.f64 re (*.f64 (neg.f64 re) -2))
2.7%
(+.f64 re re)
44.7%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
7.9%
(+.f64 -2 (*.f64 (neg.f64 re) re))
57.3%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
49.5%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
26.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
5.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
4.1%
(*.f64 (*.f64 1/2 1) -2)
63.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
54.8%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
5.9%
(*.f64 1/2 27)
7.0%
(*.f64 1/2 3)
7.2%
(*.f64 1/2 3/2)
6.4%
(*.f64 1/2 1/2)
5.8%
(*.f64 1/2 1/16)
3.9%
(*.f64 1/2 -1/2)
4.0%
(*.f64 1/2 -1)
18.4%
(log1p.f64 (expm1.f64 re))
42.0%
(cos.f64 re)
21.4%
1
Compiler

Compiled 818 to 670 computations (18.1% saved)

localize658.0ms (5.5%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 114 to 73 computations (36% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

12 calls:

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

rewrite100.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1786×fma-def
700×expm1-udef
694×log1p-udef
610×fma-neg
432×add-sqr-sqrt
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02091
144585
2579777
Stop Event
node limit
Counts
3 → 144
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
Outputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 1)
(-.f64 (/.f64 (pow.f64 im 4) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12))))
(*.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12)) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6))) (neg.f64 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (*.f64 im im))
(fma.f64 (*.f64 im im) 1 (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 1 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (*.f64 im im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 im im))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (*.f64 im im))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 im im 2)) (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(+.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 (*.f64 (*.f64 re re) -1/4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 3) (pow.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (-.f64 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))) (-.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2) 4))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) (fma.f64 (*.f64 re re) -1/4 1/2)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 3) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 (*.f64 re re) -1/4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) 1 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 im im 2) (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 2 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 2 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))) (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2) (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 2 (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 2 (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 2 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 -1/2 (*.f64 re re) 1))

simplify108.0ms (0.9%)

Algorithm
egg-herbie
Rules
1142×unswap-sqr
740×associate-+r+
672×associate-+l+
550×cancel-sign-sub-inv
404×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035010042
18588388
228318234
Stop Event
node limit
Counts
180 → 208
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 1)
(-.f64 (/.f64 (pow.f64 im 4) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12))))
(*.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12)) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6))) (neg.f64 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (*.f64 im im))
(fma.f64 (*.f64 im im) 1 (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 1 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (*.f64 im im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 im im))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (*.f64 im im))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 im im 2)) (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(+.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 (*.f64 (*.f64 re re) -1/4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 3) (pow.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (-.f64 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))) (-.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2) 4))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) (fma.f64 (*.f64 re re) -1/4 1/2)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 3) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 (*.f64 re re) -1/4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) 1 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 im im 2) (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 2 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 2 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))) (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2) (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 2 (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 2 (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (*.f64 2 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 -1/2 (*.f64 re re) 1))
Outputs
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2)))
(*.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)))
(*.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2)))
(*.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)))
(*.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 im im) 1/2))))
(*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (fma.f64 im im 2))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1))))
(fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1))))
(fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (fma.f64 -1/2 (*.f64 re re) 1))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))) (fma.f64 -1/2 (*.f64 re re) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 im 4))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(-.f64 (/.f64 (pow.f64 im 4) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(*.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12)) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 1 (/.f64 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6))) (neg.f64 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) 1) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (fma.f64 im im (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im im) 1 (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (*.f64 im im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (*.f64 im im))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (*.f64 im im))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 im im 2)) (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 (*.f64 (*.f64 re re) -1/4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 3) (pow.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (-.f64 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 3) (pow.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)) (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 3) (pow.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) 3)) (fma.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (neg.f64 (fma.f64 -1/2 (*.f64 re re) 1))) (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 3) (pow.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) 3)) (fma.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) (+.f64 (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) -1) (*.f64 1/2 (*.f64 re re))) (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))) (-.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))))
(/.f64 (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2) (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (-.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2))))
(/.f64 (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2) (pow.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) 2))) (-.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2) 4))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (/.f64 (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (+.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) -2) 4) (fma.f64 (*.f64 re re) -1/4 1/2)))
(*.f64 (/.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (+.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) -2) 4)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)))
(*.f64 (/.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) -2)) 4)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (/.f64 (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))))
(*.f64 (/.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2) 4))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (/.f64 (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (+.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) -2) 4) (fma.f64 (*.f64 re re) -1/4 1/2)))
(*.f64 (/.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (+.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) -2) 4)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)))
(*.f64 (/.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) -2)) 4)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) (fma.f64 (*.f64 re re) -1/4 1/2)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (/.f64 (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))))
(*.f64 (/.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2)))
(pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(pow.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(log.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 3) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 3)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(exp.f64 (log.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 (*.f64 re re) -1/4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 -1/2 (*.f64 re re) 1)) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) 1 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 -1/2 (*.f64 re re) 1)) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 im im 2) (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 2 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 2 (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 re (*.f64 -1/4 re) 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 re (*.f64 -1/4 re) 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) 2)) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (fma.f64 re (*.f64 -1/4 re) 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) 2) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 re (sqrt.f64 -1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 -1/8 (pow.f64 re 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) (/.f64 (fma.f64 -1/8 (pow.f64 re 6) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 -1/8 (pow.f64 (*.f64 re re) 3) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 -1/8 (pow.f64 re 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) (/.f64 (fma.f64 -1/8 (pow.f64 re 6) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 re 4) (*.f64 1/2 (*.f64 re re))))))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (fma.f64 1/2 (*.f64 re re) 1)) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) (/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 re 4))) (fma.f64 1/2 (*.f64 re re) 1)))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 re 4))) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 re re)))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (-.f64 1 (*.f64 1/4 (pow.f64 re 4))) (/.f64 1 (fma.f64 1/2 (*.f64 re re) 1)) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)) (/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 re 4))) (fma.f64 1/2 (*.f64 re re) 1)))
(fma.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) -1/4 1/2) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))) (cbrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (*.f64 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2) (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 -1/2 (*.f64 re re) 1)) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 1/2 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 -1/2 (*.f64 re re) 1)) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 2 (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 2 (fma.f64 -1/2 (*.f64 re re) 1)) 1/2 (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 re (*.f64 -1/4 re) 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) 2)) (*.f64 2 (cbrt.f64 (fma.f64 re (*.f64 -1/4 re) 1/2))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2)))
(fma.f64 (*.f64 2 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (*.f64 2 (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (*.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 (*.f64 re re) -1/4 1/2)) 1))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 re re) -1/4 1/2) 2)) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 re (*.f64 -1/4 re) 1/2) 2)) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (fma.f64 re (*.f64 -1/4 re) 1/2))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2))) (sqrt.f64 (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2)) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 (*.f64 re re) -1/4 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 re (*.f64 -1/4 re) 1/2) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) -1/4 1/2) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (fma.f64 (*.f64 re re) -1/4 1/2)) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2) (fma.f64 re (*.f64 -1/4 re) 1/2)))

eval133.0ms (1.1%)

Compiler

Compiled 6053 to 4004 computations (33.9% saved)

prune58.0ms (0.5%)

Pruning

30 alts after pruning (19 fresh and 11 done)

PrunedKeptTotal
New2443247
Fresh11617
Picked145
Done077
Total24630276
Accurracy
100.0%
Counts
276 → 30
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.7%
(fma.f64 re re -2)
44.7%
(fma.f64 im (*.f64 im 1/2) 1)
16.9%
(pow.f64 re -2)
2.9%
(/.f64 -2 re)
1.9%
(-.f64 -2 re)
8.6%
(+.f64 re (*.f64 (neg.f64 re) re))
2.7%
(+.f64 re (*.f64 (neg.f64 re) -2))
2.7%
(+.f64 re re)
44.7%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
26.7%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
7.9%
(+.f64 -2 (*.f64 (neg.f64 re) re))
57.3%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))))
49.5%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
56.9%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
5.7%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
4.1%
(*.f64 (*.f64 1/2 1) -2)
63.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
54.8%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
5.9%
(*.f64 1/2 27)
7.0%
(*.f64 1/2 3)
7.2%
(*.f64 1/2 3/2)
6.4%
(*.f64 1/2 1/2)
5.8%
(*.f64 1/2 1/16)
3.9%
(*.f64 1/2 -1/2)
4.0%
(*.f64 1/2 -1)
18.4%
(log1p.f64 (expm1.f64 re))
42.0%
(cos.f64 re)
21.4%
1
Compiler

Compiled 565 to 404 computations (28.5% saved)

regimes104.0ms (0.9%)

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

6 calls:

22.0ms
re
20.0ms
im
17.0ms
(cos.f64 re)
17.0ms
(*.f64 1/2 (cos.f64 re))
12.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 347 to 229 computations (34% saved)

regimes336.0ms (2.8%)

Counts
42 → 6
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(pow.f64 re -2)
(fma.f64 re re -2)
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 1) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 1) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

5 calls:

110.0ms
im
76.0ms
(cos.f64 re)
73.0ms
(*.f64 1/2 (cos.f64 re))
60.0ms
re
7.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
AccuracySegmentsBranch
87.9%3re
96.5%6im
90.1%4(*.f64 1/2 (cos.f64 re))
90.1%4(cos.f64 re)
86.7%2(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 323 to 216 computations (33.1% saved)

regimes100.0ms (0.8%)

Counts
41 → 5
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(pow.f64 re -2)
(fma.f64 re re -2)
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 1) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 1) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

90.0ms
im
Results
AccuracySegmentsBranch
92.3%5im
Compiler

Compiled 286 to 193 computations (32.5% saved)

regimes313.0ms (2.6%)

Counts
38 → 6
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(pow.f64 re -2)
(fma.f64 re re -2)
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 1) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

116.0ms
im
74.0ms
re
59.0ms
(*.f64 1/2 (cos.f64 re))
55.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
80.6%3re
82.5%4(*.f64 1/2 (cos.f64 re))
82.5%4(cos.f64 re)
88.3%6im
Compiler

Compiled 272 to 187 computations (31.3% saved)

regimes107.0ms (0.9%)

Counts
35 → 6
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(pow.f64 re -2)
(fma.f64 re re -2)
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 1) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

94.0ms
im
Results
AccuracySegmentsBranch
88.2%6im
Compiler

Compiled 211 to 149 computations (29.4% saved)

regimes145.0ms (1.2%)

Counts
34 → 7
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(pow.f64 re -2)
(fma.f64 re re -2)
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 1) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

138.0ms
im
Results
AccuracySegmentsBranch
87.9%7im
Compiler

Compiled 194 to 136 computations (29.9% saved)

regimes166.0ms (1.4%)

Counts
32 → 1
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(pow.f64 re -2)
(fma.f64 re re -2)
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
(fma.f64 im (*.f64 im 1/2) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

89.0ms
im
45.0ms
re
13.0ms
(cos.f64 re)
12.0ms
(*.f64 1/2 (cos.f64 re))
Results
AccuracySegmentsBranch
76.0%3re
73.8%1(*.f64 1/2 (cos.f64 re))
73.8%1(cos.f64 re)
79.6%5im
Compiler

Compiled 179 to 126 computations (29.6% saved)

regimes367.0ms (3%)

Counts
31 → 5
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(pow.f64 re -2)
(fma.f64 re re -2)
(*.f64 1/2 (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) 2)
(fma.f64 im (*.f64 im 1/2) 1)
Outputs
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(pow.f64 re -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

122.0ms
im
87.0ms
(cos.f64 re)
84.0ms
(*.f64 1/2 (cos.f64 re))
68.0ms
re
Results
AccuracySegmentsBranch
62.5%5re
73.1%5im
66.1%8(*.f64 1/2 (cos.f64 re))
66.1%8(cos.f64 re)
Compiler

Compiled 169 to 121 computations (28.4% saved)

regimes43.0ms (0.4%)

Counts
26 → 3
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
Outputs
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

37.0ms
im
Results
AccuracySegmentsBranch
70.5%3im
Compiler

Compiled 131 to 95 computations (27.5% saved)

regimes53.0ms (0.4%)

Counts
25 → 1
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
Outputs
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
Calls

2 calls:

35.0ms
re
13.0ms
im
Results
AccuracySegmentsBranch
51.1%3re
49.5%1im
Compiler

Compiled 132 to 96 computations (27.3% saved)

regimes62.0ms (0.5%)

Counts
24 → 2
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) -2)
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) 2)
Outputs
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
Calls

2 calls:

35.0ms
im
23.0ms
re
Results
AccuracySegmentsBranch
46.3%2re
47.7%3im
Compiler

Compiled 117 to 87 computations (25.6% saved)

regimes67.0ms (0.6%)

Counts
21 → 1
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
Outputs
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
Calls

2 calls:

51.0ms
im
12.0ms
re
Results
AccuracySegmentsBranch
26.7%1im
26.7%1re
Compiler

Compiled 88 to 66 computations (25% saved)

regimes66.0ms (0.6%)

Counts
20 → 3
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
(+.f64 re (*.f64 (neg.f64 re) re))
Outputs
(+.f64 re (*.f64 (neg.f64 re) re))
1
(+.f64 re (*.f64 (neg.f64 re) re))
Calls

2 calls:

35.0ms
re
27.0ms
im
Results
AccuracySegmentsBranch
27.2%3im
26.9%3re
Compiler

Compiled 81 to 61 computations (24.7% saved)

regimes58.0ms (0.5%)

Counts
19 → 3
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
(+.f64 -2 (*.f64 (neg.f64 re) re))
(+.f64 re (*.f64 (neg.f64 re) -2))
Outputs
(+.f64 -2 (*.f64 (neg.f64 re) re))
1
(+.f64 -2 (*.f64 (neg.f64 re) re))
Calls

1 calls:

27.0ms
im
Results
AccuracySegmentsBranch
26.9%3im
Compiler

Compiled 72 to 58 computations (19.4% saved)

regimes39.0ms (0.3%)

Accuracy

Total -13.2b remaining (-26.3%)

Threshold costs -13.2b (-26.3%)

Counts
17 → 1
Calls
Call 1
Inputs
1
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 3)
(*.f64 1/2 27)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 re -2)
(/.f64 -2 re)
(/.f64 re -2)
(/.f64 re re)
(*.f64 (*.f64 1/2 1) -2)
(*.f64 (*.f64 1/2 1) 1/2)
(*.f64 (*.f64 1/2 1) 3/2)
Outputs
1
Calls

2 calls:

27.0ms
re
9.0ms
im
Results
AccuracySegmentsBranch
21.4%1re
21.4%1im
Compiler

Compiled 63 to 53 computations (15.9% saved)

bsearch227.0ms (1.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
predicate-same
narrow-enough
Steps
TimeLeftRight
77.0ms
1.1278556025744774e+140
6.695916353368902e+159
0.0ms
33.10618058351306
33.629359423182486
83.0ms
-0.00043615227888932107
-3.3538562760536264e-12
12.0ms
-3.634947383723806e+71
-1.0328102677765168e+68
54.0ms
-1.450072272471186e+159
-9.542861034408769e+158
Results
88.0ms116×body1024infinite
56.0ms35×body1024valid
46.0ms140×body512infinite
18.0ms90×body256valid
6.0ms19×body512valid
3.0ms16×body256infinite
Compiler

Compiled 814 to 638 computations (21.6% saved)

bsearch226.0ms (1.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
80.0ms
1.1278556025744774e+140
6.695916353368902e+159
49.0ms
2.670120369270647e-6
33.10618058351306
54.0ms
-0.00043615227888932107
-3.3538562760536264e-12
42.0ms
-1.450072272471186e+159
-9.542861034408769e+158
Results
66.0ms108×body1024infinite
50.0ms132×body512infinite
45.0ms181×body256valid
42.0ms70×body1024valid
12.0ms37×body512valid
Compiler

Compiled 810 to 641 computations (20.9% saved)

bsearch201.0ms (1.7%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
59.0ms
1.1278556025744774e+140
6.695916353368902e+159
0.0ms
33.10618058351306
33.629359423182486
53.0ms
-0.00043615227888932107
-3.3538562760536264e-12
51.0ms
-1.2493408266192756e+79
-4.483832464342261e+73
38.0ms
-1.450072272471186e+159
-9.542861034408769e+158
Results
84.0ms123×body1024infinite
38.0ms114×body512infinite
26.0ms34×body1024valid
19.0ms99×body256infinite
16.0ms88×body256valid
7.0ms22×body512valid
Compiler

Compiled 1123 to 887 computations (21% saved)

bsearch222.0ms (1.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
81.0ms
1.1278556025744774e+140
6.695916353368902e+159
0.0ms
33.10618058351306
33.629359423182486
49.0ms
-7239.215537776864
-0.7600801674506775
56.0ms
-1.2493408266192756e+79
-4.483832464342261e+73
37.0ms
-1.450072272471186e+159
-9.542861034408769e+158
Results
82.0ms157×body1024infinite
60.0ms147×body512infinite
29.0ms96×body256infinite
19.0ms69×body256valid
16.0ms23×body1024valid
7.0ms20×body512valid
Compiler

Compiled 1085 to 889 computations (18.1% saved)

bsearch255.0ms (2.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
75.0ms
1.1278556025744774e+140
6.695916353368902e+159
42.0ms
2.366884950990163e+56
1.5409704454998715e+58
0.0ms
33.10618058351306
33.629359423182486
46.0ms
-7239.215537776864
-0.7600801674506775
48.0ms
-1.2493408266192756e+79
-4.483832464342261e+73
44.0ms
-1.450072272471186e+159
-9.542861034408769e+158
Results
78.0ms145×body1024infinite
72.0ms189×body512infinite
49.0ms178×body256infinite
20.0ms23×body1024valid
13.0ms66×body256valid
7.0ms23×body512valid
Compiler

Compiled 1245 to 983 computations (21% saved)

bsearch163.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
76.0ms
4.042354177532866e+116
1.1250590218397357e+137
37.0ms
2.366884950990163e+56
1.5409704454998715e+58
0.0ms
33.10618058351306
33.629359423182486
49.0ms
-0.00043615227888932107
-3.3538562760536264e-12
Results
58.0ms154×body512infinite
39.0ms71×body1024infinite
22.0ms94×body256valid
18.0ms30×body1024valid
12.0ms63×body256infinite
7.0ms20×body512valid
Compiler

Compiled 657 to 518 computations (21.2% saved)

bsearch49.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
33.10618058351306
33.629359423182486
49.0ms
-0.00043615227888932107
-3.3538562760536264e-12
Results
21.0ms37×body1024valid
15.0ms83×body256valid
11.0ms24×body512valid
Compiler

Compiled 225 to 176 computations (21.8% saved)

bsearch50.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
50.0ms
-4.760840791038685e+158
-2.0089290648686767e+158
Results
27.0ms44×body1024infinite
21.0ms36×body1024valid
Compiler

Compiled 113 to 89 computations (21.2% saved)

bsearch79.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
325.238351157552
2399.8848712297618
44.0ms
-7239.215537776864
-0.7600801674506775
Results
32.0ms116×body256valid
20.0ms38×body1024valid
12.0ms38×body512valid
6.0msbody1024infinite
5.0ms25×body256infinite
1.0msbody512infinite
Compiler

Compiled 200 to 154 computations (23% saved)

bsearch78.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
33.0ms
325.238351157552
2399.8848712297618
45.0ms
-7239.215537776864
-0.7600801674506775
Results
31.0ms125×body256valid
27.0ms45×body1024valid
7.0ms22×body512valid
3.0ms17×body256infinite
3.0msbody1024infinite
3.0msbody512infinite
Compiler

Compiled 200 to 168 computations (16% saved)

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
34×*-commutative
26×if-if-or-not
24×+-commutative
16×not-or
14×if-not
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281671
11821503
22011481
32141465
42211465
52291465
62301465
72311465
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 -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -200000000000000008376305112842291591798286773328067656628685542361399296) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 1116892707587883/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7499999999999999343793916924645128878317507065649858689265552055579786579279872) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -2000000000000000016987242867379405952297739849197521231789998205405593811812352) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -410) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -380) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 15000000000000001247874097323866365742669319703553686634496) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(if (<=.f64 im -7932099951695107/36893488147419103232) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 67/2) (cos.f64 re) (if (<=.f64 im 1600000000000000147044536130294051809344551355450952515584) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 420000000000000024032960572640169465172662403647816724840659090926649679495362246650917857359327313812112054148923392) (pow.f64 re -2) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))))))
(if (<=.f64 im -6640827866535439/18446744073709551616) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 67/2) (cos.f64 re) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(if (<=.f64 re -430000000000000000465903917642343245907437690057234756781851708458653643302674069408915708814697067449873148920429580393461056717832404633729953832502632120320) (+.f64 -2 (*.f64 (neg.f64 re) re)) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(if (<=.f64 im -320) (+.f64 re (*.f64 (neg.f64 re) re)) (if (<=.f64 im 550) 1 (+.f64 re (*.f64 (neg.f64 re) re))))
(if (<=.f64 im -520) (+.f64 -2 (*.f64 (neg.f64 re) re)) (if (<=.f64 im 600) 1 (+.f64 -2 (*.f64 (neg.f64 re) re))))
1
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -200000000000000008376305112842291591798286773328067656628685542361399296) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -200000000000000008376305112842291591798286773328067656628685542361399296) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (if (or (<=.f64 im 67/2) (not (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -200000000000000008376305112842291591798286773328067656628685542361399296) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (or (<=.f64 im -7932099951695107/18446744073709551616) (not (or (<=.f64 im 67/2) (not (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -200000000000000008376305112842291591798286773328067656628685542361399296) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (or (<=.f64 im -7932099951695107/18446744073709551616) (and (not (<=.f64 im 67/2)) (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 1116892707587883/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (or (<=.f64 im 1116892707587883/36028797018963968) (not (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (or (<=.f64 im -7932099951695107/18446744073709551616) (not (or (<=.f64 im 1116892707587883/36028797018963968) (not (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (not (or (<=.f64 im -7932099951695107/18446744073709551616) (not (or (<=.f64 im 1116892707587883/36028797018963968) (not (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (or (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (not (or (<=.f64 im -7932099951695107/18446744073709551616) (and (not (<=.f64 im 1116892707587883/36028797018963968)) (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7499999999999999343793916924645128878317507065649858689265552055579786579279872) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7499999999999999343793916924645128878317507065649858689265552055579786579279872) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -7932099951695107/18446744073709551616) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (or (<=.f64 im 67/2) (not (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7499999999999999343793916924645128878317507065649858689265552055579786579279872) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (or (<=.f64 im -7932099951695107/18446744073709551616) (not (or (<=.f64 im 67/2) (not (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392))))) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -7499999999999999343793916924645128878317507065649858689265552055579786579279872) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (or (<=.f64 im -7932099951695107/18446744073709551616) (and (not (<=.f64 im 67/2)) (<=.f64 im 15000000000000001298496038999574854037221349022080675856012921172039509217266793356799400692677585977189403561424740135192327629840926310196001356373819392))) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -2000000000000000016987242867379405952297739849197521231789998205405593811812352) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -410) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -2000000000000000016987242867379405952297739849197521231789998205405593811812352) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -410) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (if (or (<=.f64 im 67/2) (not (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -2000000000000000016987242867379405952297739849197521231789998205405593811812352) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (or (<=.f64 im -410) (not (or (<=.f64 im 67/2) (not (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))))) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -2000000000000000016987242867379405952297739849197521231789998205405593811812352) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (or (<=.f64 im -410) (and (not (<=.f64 im 67/2)) (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712))) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -380) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 15000000000000001247874097323866365742669319703553686634496) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))))))
(if (<=.f64 im -960000000000000032802134112951431461315414099534995242234173289022223912975299546496652180926939006460970753177650630237128925826216473525501509944392500117504) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im -114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (if (<=.f64 im -380) (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (if (<=.f64 im 67/2) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 15000000000000001247874097323866365742669319703553686634496) (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (if (<=.f64 im 13400000000000000108070028307055478569440359747784548072949571521098607764837373000563319432383120946048115065876068384406384079583813935540697222675955712) (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(if (<=.f64 im -7932099951695107/36893488147419103232) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 67/2) (cos.f64 re) (if (<=.f64 im 1600000000000000147044536130294051809344551355450952515584) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 420000000000000024032960572640169465172662403647816724840659090926649679495362246650917857359327313812112054148923392) (pow.f64 re -2) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))))))
(if (<=.f64 im -7932099951695107/36893488147419103232) (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (if (<=.f64 im 67/2) (cos.f64 re) (if (or (<=.f64 im 1600000000000000147044536130294051809344551355450952515584) (not (<=.f64 im 420000000000000024032960572640169465172662403647816724840659090926649679495362246650917857359327313812112054148923392))) (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (pow.f64 re -2))))
(if (<=.f64 im -6640827866535439/18446744073709551616) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 67/2) (cos.f64 re) (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im -6640827866535439/18446744073709551616) (not (<=.f64 im 67/2))) (*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))))
(if (<=.f64 re -430000000000000000465903917642343245907437690057234756781851708458653643302674069408915708814697067449873148920429580393461056717832404633729953832502632120320) (+.f64 -2 (*.f64 (neg.f64 re) re)) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(if (<=.f64 re -430000000000000000465903917642343245907437690057234756781851708458653643302674069408915708814697067449873148920429580393461056717832404633729953832502632120320) (+.f64 -2 (*.f64 re (neg.f64 re))) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(if (<=.f64 re -430000000000000000465903917642343245907437690057234756781851708458653643302674069408915708814697067449873148920429580393461056717832404633729953832502632120320) (-.f64 -2 (*.f64 re re)) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(if (<=.f64 im -320) (+.f64 re (*.f64 (neg.f64 re) re)) (if (<=.f64 im 550) 1 (+.f64 re (*.f64 (neg.f64 re) re))))
(if (or (<=.f64 im -320) (not (<=.f64 im 550))) (+.f64 re (*.f64 re (neg.f64 re))) 1)
(if (or (<=.f64 im -320) (not (<=.f64 im 550))) (-.f64 re (*.f64 re re)) 1)
(if (<=.f64 im -520) (+.f64 -2 (*.f64 (neg.f64 re) re)) (if (<=.f64 im 600) 1 (+.f64 -2 (*.f64 (neg.f64 re) re))))
(if (or (<=.f64 im -520) (not (<=.f64 im 600))) (+.f64 -2 (*.f64 re (neg.f64 re))) 1)
(if (or (<=.f64 im -520) (not (<=.f64 im 600))) (-.f64 -2 (*.f64 re re)) 1)
1
Compiler

Compiled 555 to 393 computations (29.2% saved)

soundness564.0ms (4.7%)

Rules
1434×fma-def
988×fma-def
904×fma-def
904×fma-def
904×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
083505
1158473
2341465
3939461
43300461
56797461
01643803
13773047
210163047
337493047
083505
1158473
2341465
3939461
43300461
56797461
026108
1561108
026108
1561108
026108
1561108
041571
171523
2138519
3346515
41222515
53178515
64252515
76567515
083505
1158473
2341465
3939461
43300461
56797461
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 128 to 96 computations (25% saved)

end231.0ms (1.9%)

Compiler

Compiled 1080 to 680 computations (37% saved)

Profiling

Loading profile data...