Details

Time bar (total: 10.3s)

analyze161.0ms (1.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
0%0%50%50%0%0%0%1
0%0%50%50%0%0%0%2
0%0%50%50%0%0%0%3
12.5%6.2%43.7%50%0%0%0%4
25%12.5%37.5%50%0%0%0%5
37.5%18.7%31.2%50%0%0%0%6
46.9%23.4%26.5%50%0%0%0%7
54.7%27.3%22.6%50%0%0%0%8
60.2%30%19.9%50%0%0%0%9
64.5%32.2%17.8%50%0%0%0%10
67.4%33.7%16.3%50%0%0%0%11
69.6%34.8%15.2%50%0%0%0%12
Compiler

Compiled 20 to 14 computations (30% saved)

sample2.5s (24.4%)

Results
1.3s6342×body256valid
498.0ms570×body4096valid
316.0ms688×body2048valid
172.0ms218×body512valid
166.0ms438×body1024valid
Bogosity

preprocess77.0ms (0.7%)

Algorithm
egg-herbie
Rules
318×fma-def_binary64
176×fma-neg_binary64
82×distribute-rgt-in_binary64
48×distribute-lft-in_binary64
48×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01930
13330
25130
38830
413530
518530
630530
747930
868930
984030
10109030
11125130
12128330
13128730
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) im))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify35.0ms (0.3%)

Algorithm
egg-herbie
Rules
203×fma-def_binary64
142×fma-neg_binary64
49×distribute-rgt-in_binary64
43×cancel-sign-sub-inv_binary64
28×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))

eval1.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
11.6b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
11.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
Compiler

Compiled 12 to 9 computations (25% saved)

localize171.0ms (1.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
0.8b
(-.f64 (hypot.f64 re im) re)
Compiler

Compiled 39 to 16 computations (59% saved)

series12.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
2.0ms
im
@0
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
1.0ms
re
@inf
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
1.0ms
im
@inf
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
1.0ms
re
@inf
(-.f64 (hypot.f64 re im) re)
1.0ms
re
@0
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))

rewrite57.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
873×pow1_binary64
812×add-log-exp_binary64
811×log1p-expm1-u_binary64
811×expm1-log1p-u_binary64
794×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
117319
2221019
Stop Event
node limit
Counts
2 → 57
Calls
Call 1
Inputs
(-.f64 (hypot.f64 re im) re)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (hypot.f64 re im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (hypot.f64 re im) (*.f64 (neg.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 re) 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 re) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (hypot.f64 re im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (hypot.f64 re im) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (/.f64 1 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im)))) (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 re (hypot.f64 re im)) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 (neg.f64 re) 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 (hypot.f64 re im) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 (neg.f64 re) (neg.f64 re))) (-.f64 (hypot.f64 re im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (hypot.f64 re im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (hypot.f64 re im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))

simplify48.0ms (0.5%)

Algorithm
egg-herbie
Rules
674×associate-*r*_binary64
641×associate-*l*_binary64
631×fma-def_binary64
507×times-frac_binary64
390×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01561087
14691055
215381008
Stop Event
node limit
Counts
89 → 105
Calls
Call 1
Inputs
im
(+.f64 (*.f64 -1 re) im)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 8)) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 (*.f64 -1 re) im)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1 re) (*.f64 -1 im))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
Outputs
im
(+.f64 (*.f64 -1 re) im)
(fma.f64 -1 re im)
(-.f64 im re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(fma.f64 -1 re (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) re)
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)))
(fma.f64 -1 re (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im)))
(-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) im)) re)
(-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) im)) re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 1/2 re) (*.f64 im im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3)))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (pow.f64 re 7)) (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 -1/2 (pow.f64 re 7)) (*.f64 (pow.f64 im 8) 5/64)))))
(*.f64 -2 re)
(*.f64 re -2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 re -2))
(fma.f64 re -2 (/.f64 (*.f64 im (*.f64 im -1/2)) re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re)))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 re -2)))
(fma.f64 re -2 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 re -2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 re -2 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 1/2 re) (*.f64 im im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3)))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 8)) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) (/.f64 re (pow.f64 im 8))) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/2 (/.f64 (pow.f64 im 8) (/.f64 re (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))))) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -1/32 (pow.f64 re 6))) re) (pow.f64 im 8)))))
im
(+.f64 (*.f64 -1 re) im)
(fma.f64 -1 re im)
(-.f64 im re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(fma.f64 -1 re (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) re)
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)))
(fma.f64 -1 re (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im)))
(-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) im)) re)
(-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) im)) re)
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 re) (*.f64 -1 im))
(*.f64 -1 (+.f64 re im))
(-.f64 (neg.f64 re) im)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(fma.f64 -1 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) -1/2) im) im) re)
(-.f64 (*.f64 (/.f64 -1/2 im) (*.f64 re re)) (+.f64 im re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 -1 re (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 (/.f64 (*.f64 (*.f64 re re) -1/2) im) im)) re)
(-.f64 (-.f64 (fma.f64 (*.f64 (/.f64 re im) re) -1/2 (*.f64 (/.f64 1/8 (pow.f64 im 3)) (pow.f64 re 4))) im) re)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))))))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 re re)) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) (*.f64 (sqrt.f64 2) (*.f64 re -1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/4 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (pow.f64 re 3) (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/4)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 re re)) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) (*.f64 (sqrt.f64 2) (*.f64 re -1/2)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(fma.f64 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3)))))
(fma.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5))) (sqrt.f64 re)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 re) (*.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (*.f64 1/16 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (sqrt.f64 re) (+.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 -1/2 (/.f64 re (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))))) (*.f64 -1/8 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (*.f64 re re)))) (pow.f64 im 7)))) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5)))))) (fma.f64 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (*.f64 (+.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -1/32 (pow.f64 re 6))) re) (*.f64 1/8 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (*.f64 re re)))) (pow.f64 im 7)) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (*.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5)) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))) (fma.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))

eval47.0ms (0.5%)

Compiler

Compiled 2431 to 1710 computations (29.7% saved)

prune25.0ms (0.2%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New9510105
Fresh000
Picked011
Done000
Total9511106
Error
0.4b
Counts
106 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
11.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
49.1b
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
49.1b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
11.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
12.7b
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))
28.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
58.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
26.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Compiler

Compiled 308 to 253 computations (17.9% saved)

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
0.4b
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
0.8b
(-.f64 (hypot.f64 re im) re)
Compiler

Compiled 42 to 17 computations (59.5% saved)

series6.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@0
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
1.0ms
re
@inf
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
1.0ms
im
@inf
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
1.0ms
re
@0
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
0.0ms
im
@-inf
(sqrt.f64 (-.f64 (hypot.f64 re im) re))

rewrite57.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
933×pow1_binary64
866×add-log-exp_binary64
865×log1p-expm1-u_binary64
865×expm1-log1p-u_binary64
846×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
119321
2239921
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (sqrt.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (hypot.f64 re im) re) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))))

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
652×associate-*r*_binary64
609×associate-*l*_binary64
603×fma-def_binary64
309×times-frac_binary64
271×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251061
13741009
21236916
36741916
Stop Event
node limit
Counts
52 → 66
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 re)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 re))))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 -1/2 re) (sqrt.f64 2))))
(*.f64 (sqrt.f64 2) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (fma.f64 1/2 (*.f64 (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (fma.f64 -1/2 re (*.f64 re (*.f64 (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) 1/2))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))) (*.f64 1/4 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/4))))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re 1/2)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 -1/16 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 1 re))))
(fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) -1/16)))
(fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (pow.f64 im 3) -1/16))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (pow.f64 im 5)))) (sqrt.f64 re)) (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 re) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)))))))
(fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5)) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (*.f64 1/2 (sqrt.f64 re)) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (pow.f64 im 3) -1/16)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/16 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6)))) re) (*.f64 1/16 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (pow.f64 im 5)))) (sqrt.f64 re)) (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 -1/2 (/.f64 re (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))))) (*.f64 -1/8 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (*.f64 re re)))) (pow.f64 im 7)))) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)))))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) -1/16))))
(fma.f64 1/2 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7))) (-.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -1/32 (pow.f64 re 6))) re) (/.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) -8) (*.f64 re re)))) (*.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5)) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (pow.f64 im 3) -1/16)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im))))
(fma.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))
(fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 -1/2 re))))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (fma.f64 -1/2 re (*.f64 re (*.f64 (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) 1/2))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 1/4 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 -1/2 re))) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/4))))
(+.f64 (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re 1/2))))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)) (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)))))
(fma.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 (pow.f64 im 3) -1/16) (sqrt.f64 1/2))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 re)))))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) (*.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))) (fma.f64 1/2 (/.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))))))
(fma.f64 (sqrt.f64 re) (*.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (sqrt.f64 1/2)) (*.f64 (pow.f64 im 5) 1/2)) (fma.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 (pow.f64 im 3) -1/16) (sqrt.f64 1/2)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 re))))))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 re) (/.f64 (pow.f64 im 7) (/.f64 (sqrt.f64 1/2) (+.f64 (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6)))) re) (*.f64 1/16 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2)))))))) (*.f64 (sqrt.f64 re) (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)) (-.f64 (/.f64 -1/2 (/.f64 re (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))))) (*.f64 -1/8 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (*.f64 re re))))) (*.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (sqrt.f64 1/2)) (pow.f64 im 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 re) (fma.f64 (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)) (-.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -1/32 (pow.f64 re 6))) re) (/.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) -8) (*.f64 re re))) (*.f64 (pow.f64 im 5) (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (sqrt.f64 1/2))))) (fma.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 (pow.f64 im 3) -1/16) (sqrt.f64 1/2)))))

localize9.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 2 (-.f64 im re)))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series6.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@-inf
(sqrt.f64 (*.f64 2 (-.f64 im re)))
1.0ms
im
@0
(sqrt.f64 (*.f64 2 (-.f64 im re)))
1.0ms
im
@inf
(sqrt.f64 (*.f64 2 (-.f64 im re)))
1.0ms
re
@inf
(sqrt.f64 (*.f64 2 (-.f64 im re)))
1.0ms
re
@0
(sqrt.f64 (*.f64 2 (-.f64 im re)))

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
778×pow1_binary64
726×add-log-exp_binary64
725×log1p-expm1-u_binary64
725×expm1-log1p-u_binary64
710×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11529
219639
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (-.f64 im re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (-.f64 im re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))))

simplify49.0ms (0.5%)

Algorithm
egg-herbie
Rules
670×associate-/r*_binary64
648×associate-*l/_binary64
598×distribute-rgt-out_binary64
577×associate-/r/_binary64
531×associate-*r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
070363
1185363
2561347
32401323
46483319
Stop Event
node limit
Counts
30 → 37
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) im)) (sqrt.f64 -1)))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (*.f64 im (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 -1))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 im im) -1)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) im)) (sqrt.f64 -1))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(fma.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 im im) -1)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) im)) (sqrt.f64 -1)))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (pow.f64 im 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 (sqrt.f64 -1) 5)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/8) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 re re) (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/16) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))))

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
0.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
8.5b
(/.f64 (pow.f64 im 2) re)
18.2b
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
Compiler

Compiled 52 to 39 computations (25% saved)

series13.0ms (0.1%)

Counts
4 → 48
Calls

24 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
1.0ms
im
@0
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
1.0ms
re
@0
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
1.0ms
re
@-inf
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
1.0ms
re
@0
(/.f64 (pow.f64 im 2) re)

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
966×pow1_binary64
894×add-log-exp_binary64
894×log1p-expm1-u_binary64
894×expm1-log1p-u_binary64
101×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01135
123529
2253129
Stop Event
node limit
Counts
4 → 116
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (pow.f64 (/.f64 1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re))) 1/2) (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (/.f64 re im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 im (/.f64 re im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 im (/.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (*.f64 im (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im im) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 im (/.f64 re im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (/.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 im (/.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (/.f64 re im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re))) (cbrt.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (neg.f64 im)) (/.f64 1 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im 1) (/.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 im (/.f64 re im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/4))) (cbrt.f64 (*.f64 1/2 (/.f64 im (/.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (/.f64 re im)))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 2)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (/.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (*.f64 im im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 im im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 im (/.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (/.f64 re im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 im (/.f64 re im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 im (/.f64 re im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (/.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im im) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 re (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 re (*.f64 im im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 re (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im (neg.f64 im))) (neg.f64 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im im) 1) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 2) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) re)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (/.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (*.f64 im im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 im im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 im (/.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (/.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (/.f64 re im))))))))

simplify90.0ms (0.9%)

Algorithm
egg-herbie
Rules
685×associate-*r/_binary64
640×fma-neg_binary64
490×associate-/l/_binary64
395×associate-/r/_binary64
374×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016428
133428
265428
3121428
4287428
5886428
61562428
73753428
84532428
96021428
107529428
Stop Event
node limit
Counts
164 → 109
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (/.f64 1 re))
0.1b
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
0.4b
(*.f64 (sqrt.f64 1/2) im)
0.5b
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
Compiler

Compiled 55 to 45 computations (18.2% saved)

series11.0ms (0.1%)

Counts
4 → 0
Calls

15 calls:

TimeVariablePointExpression
2.0ms
im
@inf
(*.f64 (sqrt.f64 1/2) im)
1.0ms
re
@-inf
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
1.0ms
im
@0
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
1.0ms
re
@0
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
1.0ms
im
@inf
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))

rewrite152.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
992×pow1_binary64
915×add-log-exp_binary64
915×log1p-expm1-u_binary64
915×expm1-log1p-u_binary64
121×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01342
126117
2295017
Stop Event
node limit
Counts
4 → 69
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 1 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 im 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 im) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 im 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x . im)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 im))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 im 3) (/.f64 (pow.f64 re -1/2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 re -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 re -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 re -1/2)) (/.f64 1 (cbrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 re -1/2)) (sqrt.f64 (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 re -2))) (sqrt.f64 (/.f64 1 (cbrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 re -2)) 1/2) (pow.f64 (/.f64 1 (cbrt.f64 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 re -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 re) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 re -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 re -1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 re -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 re -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 re -1/2) re))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 re -1/2)))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
69 → 69
Calls
Call 1
Inputs
Outputs

eval319.0ms (3.1%)

Compiler

Compiled 6543 to 4647 computations (29% saved)

prune106.0ms (1%)

Pruning

18 alts after pruning (14 fresh and 4 done)

PrunedKeptTotal
New33712349
Fresh325
Picked101
Done145
Total34218360
Error
0.3b
Counts
360 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
49.0b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
49.9b
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re))))
11.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
49.0b
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
50.0b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))) (sqrt.f64 (/.f64 1 re))))
26.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
49.0b
(*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2))
54.1b
(*.f64 1/2 (sqrt.f64 (/.f64 im (/.f64 re im))))
11.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
12.7b
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))
28.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
50.0b
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
49.0b
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 2)
49.1b
(*.f64 1/2 (*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (sqrt.f64 2)))
26.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
54.4b
(*.f64 1/2 (*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
35.5b
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
Compiler

Compiled 383 to 310 computations (19.1% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))
0.5b
(cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
0.6b
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)
0.8b
(-.f64 (hypot.f64 re im) re)
Compiler

Compiled 63 to 30 computations (52.4% saved)

series150.0ms (1.5%)

Counts
3 → 56
Calls

18 calls:

TimeVariablePointExpression
98.0ms
im
@0
(cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
11.0ms
re
@inf
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)
10.0ms
im
@inf
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)
10.0ms
re
@-inf
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)
6.0ms
im
@0
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)

rewrite68.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
456×log-prod_binary64
410×prod-diff_binary64
332×exp-prod_binary64
277×pow-prod-down_binary64
256×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01138
123937
2268237
Stop Event
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)
(cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12) (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/6) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 3/2) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/6) (pow.f64 2 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 2) 1/12)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3) 1/18)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))) 2)) (cbrt.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))) (sqrt.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12) (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/6) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 3) (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/18) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/12) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 3/2) 2))))))

simplify243.0ms (2.4%)

Algorithm
egg-herbie
Rules
867×fma-def_binary64
362×associate-+r+_binary64
344×*-commutative_binary64
329×distribute-rgt-in_binary64
324×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
06807630
125096541
276736403
Stop Event
node limit
Counts
183 → 194
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/72 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (pow.f64 re 2)) (+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/72 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (pow.f64 re 2)) (+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))) (+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/108 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (+.f64 (*.f64 35/1296 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 -1/216 (pow.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) (pow.f64 im 8)) 1/3)) (*.f64 35/648 (pow.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) (pow.f64 im 8)) 1/3))) (pow.f64 im 1/6)))) (*.f64 -1/216 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))))
(*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3)))))
(+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 4))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)))))) (pow.f64 re 4))))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2)))) (pow.f64 re 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))))) (pow.f64 re 6)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))))))) (pow.f64 re 6)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 4))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)))))) (pow.f64 re 4))))))))))))
(*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3))
(+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3))))
(+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3)) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))))))))
(+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)))) (pow.f64 re 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))) (*.f64 (pow.f64 im 2) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))))) (pow.f64 re 6)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 6)) (pow.f64 1 1/3)) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)))) (*.f64 1/12 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 6))))))))))))
(*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3)) (*.f64 (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3)))) (pow.f64 im 2)))
(+.f64 (*.f64 (+.f64 (*.f64 19/1152 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (+.f64 (*.f64 19/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))))) (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))))) (pow.f64 im 4)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3)) (*.f64 (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3)))) (pow.f64 im 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -19/13824 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 19/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))) (pow.f64 re 2)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/4320 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 55/82944 (/.f64 1 (pow.f64 re 6)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3))) (pow.f64 1 1/3)) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (+.f64 (*.f64 -19/13824 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 6)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (-.f64 (*.f64 1/4320 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 55/82944 (/.f64 1 (pow.f64 re 6)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))))))) (pow.f64 im 6)) (+.f64 (*.f64 (+.f64 (*.f64 19/1152 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (+.f64 (*.f64 19/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))))) (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))))) (pow.f64 im 4)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3)) (*.f64 (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3)))) (pow.f64 im 2)))))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))))))
(+.f64 (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re)))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))))))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))) im)) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))) im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (pow.f64 re 2)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (pow.f64 re 2))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (*.f64 re (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (pow.f64 re 2)))))))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re))))))))) (pow.f64 im 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))) im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (pow.f64 re 2)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (pow.f64 re 2))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))) (*.f64 35/1296 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6))))))))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2)))) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))))
(+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 6))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 2)) (pow.f64 re 2)))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))) (*.f64 19/1152 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 4)) (pow.f64 re 4))))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (-.f64 (*.f64 1/4320 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 55/82944 (/.f64 1 (pow.f64 re 6)))) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 6)))) (*.f64 19/1152 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 4)) (pow.f64 re 4)))))))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) re))) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) re))) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) re))) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
Outputs
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))
(fma.f64 re (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) -1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/72 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (pow.f64 re 2)) (+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8) (*.f64 re re) (fma.f64 re (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) -1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/72 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (pow.f64 re 2)) (+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))) (+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/108 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (+.f64 (*.f64 35/1296 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 -1/216 (pow.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) (pow.f64 im 8)) 1/3)) (*.f64 35/648 (pow.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) (pow.f64 im 8)) 1/3))) (pow.f64 im 1/6)))) (*.f64 -1/216 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8) (*.f64 re re) (fma.f64 re (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) -1/2) (fma.f64 (pow.f64 re 3) (fma.f64 -1/108 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 35/1296 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 im 8))) 4/81) (pow.f64 im 1/6)) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/216)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8) (*.f64 re re) (fma.f64 re (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) -1/2) (fma.f64 (pow.f64 re 3) (+.f64 (fma.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/216 (*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 2 (pow.f64 im 8))) 4/81) (pow.f64 im 1/6)) (cbrt.f64 (sqrt.f64 2)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) 23/1296)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) 1))
(*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3))
(*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3)))))
(fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3)) 1 (*.f64 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3))))) -1/8))
(fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3))) -1/8 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)))
(fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))) -1/8 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)))
(+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 4))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)))))) (pow.f64 re 4))))))))
(fma.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) (/.f64 (pow.f64 re 4) (*.f64 (sqrt.f64 2) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))) 1 (fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3)) 1 (fma.f64 -1/12 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3))))) (fma.f64 1/288 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) (pow.f64 im 4))))) (fma.f64 -1/24 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2))) (*.f64 1/576 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2)))))) (pow.f64 re 4))))))))
(+.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (pow.f64 re 4)) (*.f64 (sqrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4))))) (fma.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (fma.f64 -1/12 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3))) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (pow.f64 im 4))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 re 4)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 1/576 (cbrt.f64 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2))))) (/.f64 (*.f64 -1/24 (sqrt.f64 2)) (*.f64 (/.f64 re (*.f64 im im)) (/.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)))))))))
(+.f64 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (pow.f64 re 4)) (*.f64 (sqrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4))))) (fma.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (fma.f64 -1/12 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (pow.f64 im 4))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 re 4)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 1/576 (cbrt.f64 2)) (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2))))) (/.f64 (*.f64 -1/24 (sqrt.f64 2)) (*.f64 (/.f64 re (*.f64 im im)) (/.f64 re (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)))))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2)))) (pow.f64 re 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))))) (pow.f64 re 6)) (pow.f64 1 1/3)) (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))))))) (pow.f64 re 6)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 4))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 3) (pow.f64 im 2))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)))))) (pow.f64 re 4))))))))))))
(fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3)) 1 (fma.f64 -1/12 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) (*.f64 (*.f64 im im) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))) 1) (pow.f64 re 6)) (fma.f64 -1/12 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3))))) (fma.f64 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) (*.f64 (sqrt.f64 2) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 (pow.f64 im 8) 1/16)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))))) (pow.f64 re 6)) 1 (fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2))) (*.f64 1/576 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2))))))))) (fma.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) (/.f64 (pow.f64 re 4) (*.f64 (sqrt.f64 2) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))) 1 (fma.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 re 6) (fma.f64 -1/12 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (*.f64 (*.f64 im im) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 (pow.f64 im 8) 1/16)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))))))))) (cbrt.f64 (sqrt.f64 2)) (fma.f64 1/288 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) (pow.f64 im 4))))) (fma.f64 -1/24 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2))) (*.f64 1/576 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2)))))) (pow.f64 re 4))))))))))))
(fma.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (fma.f64 -1/12 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 6)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (*.f64 (*.f64 im im) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))))) (+.f64 (+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 re 6)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 (fma.f64 (pow.f64 im 8) 1/16 (*.f64 (pow.f64 im 8) 1/64)) -720) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)))))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2) (*.f64 (*.f64 im im) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))))) (cbrt.f64 2)))) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (pow.f64 im 4))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 re 4)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 1/576 (cbrt.f64 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2))))) (/.f64 (*.f64 -1/24 (sqrt.f64 2)) (*.f64 (/.f64 re (*.f64 im im)) (/.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3))))))) (fma.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (cbrt.f64 (sqrt.f64 2))) (/.f64 (/.f64 (pow.f64 re 6) (*.f64 im im)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 1/576 (cbrt.f64 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)))))) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (pow.f64 re 4)) (*.f64 (sqrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4))))))) (fma.f64 -1/12 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3))) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (/.f64 (/.f64 (pow.f64 re 6) (sqrt.f64 2)) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 (fma.f64 (pow.f64 im 8) 1/16 (*.f64 (pow.f64 im 8) 1/64)) -720) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)))))))))))
(fma.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (fma.f64 -1/12 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 6)) (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (*.f64 (*.f64 im im) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))))) (+.f64 (+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 re 6)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 (fma.f64 (pow.f64 im 8) 1/16 (*.f64 (pow.f64 im 8) 1/64)) -720) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)))))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2) (*.f64 (*.f64 im im) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))))) (cbrt.f64 2)))) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (pow.f64 im 4))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 re 4)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 1/576 (cbrt.f64 2)) (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2))))) (/.f64 (*.f64 -1/24 (sqrt.f64 2)) (*.f64 (/.f64 re (*.f64 im im)) (/.f64 re (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))))))) (fma.f64 -1/24 (/.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (cbrt.f64 (sqrt.f64 2))) (/.f64 (/.f64 (pow.f64 re 6) (*.f64 im im)) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 1/576 (cbrt.f64 2)) (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)))))) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (pow.f64 re 4)) (*.f64 (sqrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4))))))) (fma.f64 -1/12 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (/.f64 (/.f64 (pow.f64 re 6) (sqrt.f64 2)) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 (fma.f64 (pow.f64 im 8) 1/16 (*.f64 (pow.f64 im 8) 1/64)) -720) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)))))))))))
(*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3) 1))
(*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3))
(+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3))))
(fma.f64 1/12 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (fma.f64 1/24 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3) 1))))
(+.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)) (*.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) re)) 1/8))
(+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3)) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))))))))
(fma.f64 1/12 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (fma.f64 1/288 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (fma.f64 1/24 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (fma.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))))) (pow.f64 re 4)) 1 (fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3)) 1 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 1/576 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))))))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re)))))))))))))
(fma.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) re)) (fma.f64 1/288 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)) (pow.f64 re 4)) (+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 1/576 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)) (pow.f64 im 4)))) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3))) (fma.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) re)) 1/24 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4)))))))))
(+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3)) (+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)))) (pow.f64 re 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))) (*.f64 (pow.f64 im 2) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))))) (pow.f64 re 6)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3)) (pow.f64 1 1/3)) (+.f64 (*.f64 1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 2)) (pow.f64 1 1/3))) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 3))) (pow.f64 re 6)) (pow.f64 1 1/3)) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)))) (*.f64 1/12 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 6))))))))))))
(fma.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))))) (pow.f64 re 4)) 1 (fma.f64 1/12 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))))) (pow.f64 re 6))) (fma.f64 1/12 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (fma.f64 1/288 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (fma.f64 1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 1/576 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))))))) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))))) (fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3)) 1 (fma.f64 1/24 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3))))) (fma.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 3)) (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 (*.f64 1/3456 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im))))) (pow.f64 re 6)) 1 (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (/.f64 (fma.f64 1/576 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))))))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (/.f64 (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 (*.f64 1/3456 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im)))))) (*.f64 1/12 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2)))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re)))))))))))))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))))) (fma.f64 1/12 (/.f64 (sqrt.f64 2) (/.f64 (/.f64 (pow.f64 re 6) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)))) (fma.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) re)) (fma.f64 1/288 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)) (pow.f64 re 4)) (fma.f64 1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 1/576 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)) (pow.f64 im 4)))) (pow.f64 re 6)) (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))))) (fma.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) (fma.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3) re)) 1/24 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (*.f64 (/.f64 (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 1/576 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)) (pow.f64 im 4)))) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 6) (fma.f64 2 (*.f64 (*.f64 (cbrt.f64 2) (fma.f64 (pow.f64 im 6) 1/82944 (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 (*.f64 1/3456 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im))))) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 1/12 (*.f64 (*.f64 (cbrt.f64 2) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4)))) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)))))))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)) (/.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 6) 1/82944 (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 (*.f64 1/3456 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im))))))))))))))
(*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 3) 1))
(*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3))
(*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3)) (*.f64 (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3)))) (pow.f64 im 2)))
(fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)) 1 (*.f64 (*.f64 im im) (*.f64 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)))) -1/8)))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) -1/8) (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) -1/8) (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)))
(+.f64 (*.f64 (+.f64 (*.f64 19/1152 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (+.f64 (*.f64 19/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))))) (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))))) (pow.f64 im 4)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3)) (*.f64 (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3)))) (pow.f64 im 2))))
(fma.f64 (fma.f64 19/1152 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)) (pow.f64 re 4))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (pow.f64 re 4))) 5/144)) (*.f64 1/288 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)) (pow.f64 re 4)))))) (pow.f64 im 4) (fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)) 1 (*.f64 (*.f64 im im) (*.f64 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)))) -1/8))))
(fma.f64 (pow.f64 im 4) (fma.f64 19/1152 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)) 5/144) (pow.f64 re 4))) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))) (fma.f64 (*.f64 im im) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) -1/8) (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3))))
(fma.f64 (pow.f64 im 4) (fma.f64 19/1152 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)) 5/144) (pow.f64 re 4))) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))) (fma.f64 (*.f64 im im) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) -1/8) (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))))
(+.f64 (*.f64 (+.f64 (*.f64 -19/13824 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 19/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))) (pow.f64 re 2)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/4320 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 55/82944 (/.f64 1 (pow.f64 re 6)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3))) (pow.f64 1 1/3)) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (+.f64 (*.f64 -19/13824 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 6)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (*.f64 (-.f64 (*.f64 1/4320 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 55/82944 (/.f64 1 (pow.f64 re 6)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))))))) (pow.f64 im 6)) (+.f64 (*.f64 (+.f64 (*.f64 19/1152 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (+.f64 (*.f64 19/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (*.f64 1/576 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) 1) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))))) (*.f64 1/288 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 4)) (pow.f64 1 1/3))))) (pow.f64 im 4)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 1 1/3)) (*.f64 (+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3))) (*.f64 -1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 3)) (pow.f64 re 2)) (pow.f64 1 1/3)))) (pow.f64 im 2)))))
(fma.f64 (fma.f64 -19/13824 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 re 6) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)))) (fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (pow.f64 re 4))) 5/144) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3) (fma.f64 1/4320 (fma.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) (/.f64 75/4 (pow.f64 re 6))) (neg.f64 (/.f64 55/82944 (pow.f64 re 6)))))) 1 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (fma.f64 -19/13824 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (pow.f64 re 6))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (fma.f64 1/4320 (fma.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) (/.f64 75/4 (pow.f64 re 6))) (neg.f64 (/.f64 55/82944 (pow.f64 re 6))))))))))))) (pow.f64 im 6) (fma.f64 (fma.f64 19/1152 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)) (pow.f64 re 4))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 2) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (pow.f64 re 4))) 5/144)) (*.f64 1/288 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)) (pow.f64 re 4)))))) (pow.f64 im 4) (fma.f64 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)) 1 (*.f64 (*.f64 im im) (*.f64 (*.f64 1 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 3)))) -1/8)))))
(fma.f64 (pow.f64 im 6) (fma.f64 -19/13824 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 6)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) (fma.f64 -1/24 (/.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)) 5/144) (pow.f64 re 4))) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))) (*.f64 re re)) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (fma.f64 2 (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2) (+.f64 (fma.f64 1/4320 (fma.f64 -720 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -45 (pow.f64 re 6))) (/.f64 5/1152 (pow.f64 re 6))) (/.f64 -55/82944 (pow.f64 re 6))))) (*.f64 (*.f64 -19/13824 (cbrt.f64 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2) (pow.f64 re 6))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3) (+.f64 (fma.f64 1/4320 (fma.f64 -720 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -45 (pow.f64 re 6))) (/.f64 5/1152 (pow.f64 re 6))) (/.f64 -55/82944 (pow.f64 re 6)))))))) (fma.f64 (pow.f64 im 4) (fma.f64 19/1152 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 2)) 5/144) (pow.f64 re 4))) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))) (fma.f64 (*.f64 im im) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)) -1/8) (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) 3)))))
(fma.f64 (pow.f64 im 6) (fma.f64 -19/13824 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 6)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) (fma.f64 -1/24 (/.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)) 5/144) (pow.f64 re 4))) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))) (*.f64 re re)) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (fma.f64 2 (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2) (+.f64 (fma.f64 1/4320 (fma.f64 -720 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -45 (pow.f64 re 6))) (/.f64 5/1152 (pow.f64 re 6))) (/.f64 -55/82944 (pow.f64 re 6))))) (*.f64 (*.f64 -19/13824 (cbrt.f64 2)) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2) (pow.f64 re 6))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3) (+.f64 (fma.f64 1/4320 (fma.f64 -720 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -45 (pow.f64 re 6))) (/.f64 5/1152 (pow.f64 re 6))) (/.f64 -55/82944 (pow.f64 re 6)))))))) (fma.f64 (pow.f64 im 4) (fma.f64 19/1152 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) (fma.f64 1/288 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 4)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 2)) 5/144) (pow.f64 re 4))) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))) (fma.f64 (*.f64 im im) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)) -1/8) (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3)))))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1) (*.f64 (sqrt.f64 2) re)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 -1/3 (*.f64 (sqrt.f64 2) re)) (*.f64 (sqrt.f64 (/.f64 1 im)) 1))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/3 (*.f64 (sqrt.f64 2) re)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))))))))
(fma.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1) (*.f64 (sqrt.f64 2) re)) (fma.f64 1/18 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1) (*.f64 (sqrt.f64 2) (*.f64 re re))) (fma.f64 (*.f64 (sqrt.f64 2) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2)))) (*.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2))))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 -1/3 (*.f64 (sqrt.f64 2) re)) (*.f64 (sqrt.f64 (/.f64 1 im)) 1)))))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 2 im))) (*.f64 (*.f64 2 (cbrt.f64 (*.f64 2 im))) (fma.f64 1/72 (*.f64 re re) 0)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/3 (*.f64 (sqrt.f64 2) re)) (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 re re))) (*.f64 (sqrt.f64 2) (fma.f64 1/72 (*.f64 re re) 0))))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 2 im))) (*.f64 (*.f64 2 (cbrt.f64 (*.f64 2 im))) (*.f64 1/72 (*.f64 re re))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/3 (*.f64 (sqrt.f64 2) re)) (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 re re))) (*.f64 (sqrt.f64 2) (*.f64 1/72 (*.f64 re re)))))))
(+.f64 (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re)))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))))))))))
(fma.f64 1/18 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1) (*.f64 (sqrt.f64 2) (*.f64 re re))) (fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (*.f64 (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2)))) (*.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2)))))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (fma.f64 2 (*.f64 (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2))) (fma.f64 -1/1296 (pow.f64 re 3) (fma.f64 1/36 (*.f64 (pow.f64 re 3) 1) (*.f64 -1/72 (*.f64 re (*.f64 0 (*.f64 re re))))))) (*.f64 -1/3 (*.f64 (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2))) (*.f64 re (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))))))) (fma.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1) (*.f64 (sqrt.f64 2) re)) (fma.f64 (*.f64 (sqrt.f64 2) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1) (fma.f64 (*.f64 (sqrt.f64 2) (fma.f64 -1/1296 (pow.f64 re 3) (fma.f64 1/36 (*.f64 (pow.f64 re 3) 1) (*.f64 -1/72 (*.f64 re (*.f64 0 (*.f64 re re))))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) 1) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2)))) (*.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (cbrt.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2))))))) (*.f64 -1/3 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1) (*.f64 (sqrt.f64 2) re)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) 1) (*.f64 (*.f64 (sqrt.f64 2) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) re))))))))))))
(fma.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (*.f64 (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 2 im))) (*.f64 (*.f64 2 (cbrt.f64 (*.f64 2 im))) (fma.f64 1/72 (*.f64 re re) 0))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (fma.f64 2 (*.f64 (cbrt.f64 (*.f64 2 im)) (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 (*.f64 -1/72 (*.f64 re 0))))) (*.f64 -1/3 (*.f64 (cbrt.f64 (*.f64 2 im)) (*.f64 re (fma.f64 1/72 (*.f64 re re) 0)))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (+.f64 (fma.f64 -1/3 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 re (fma.f64 1/72 (*.f64 re re) 0)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 2 im))) (*.f64 (*.f64 2 (cbrt.f64 (*.f64 2 im))) (fma.f64 1/72 (*.f64 re re) 0)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 (*.f64 -1/72 (*.f64 re 0)))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))))))
(fma.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (*.f64 (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 2 im))) (*.f64 (*.f64 2 (cbrt.f64 (*.f64 2 im))) (*.f64 1/72 (*.f64 re re)))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (fma.f64 2 (*.f64 (cbrt.f64 (*.f64 2 im)) (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 0))) (*.f64 -1/3 (*.f64 (cbrt.f64 (*.f64 2 im)) (*.f64 re (*.f64 1/72 (*.f64 re re))))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (+.f64 (fma.f64 -1/3 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 re (*.f64 1/72 (*.f64 re re))) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (fma.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 2 im))) (*.f64 (*.f64 2 (cbrt.f64 (*.f64 2 im))) (*.f64 1/72 (*.f64 re re))))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 1/72 (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 0)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 im) 1)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))) im)) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (*.f64 (sqrt.f64 im) 1))) -1/2) im) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 im) 1))))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (sqrt.f64 im))) (/.f64 im -1/2)))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (sqrt.f64 im))) (/.f64 -1/2 im)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))) im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (pow.f64 re 2)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (pow.f64 re 2))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (*.f64 (sqrt.f64 im) 1))) -1/2) im) (fma.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (sqrt.f64 im) 1) (fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (fma.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im)))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im))))))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1) (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 -1)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1))))))))
(-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (fma.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (cbrt.f64 (sqrt.f64 2))) (fma.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (cbrt.f64 (*.f64 -2 im))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 -2 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (sqrt.f64 -1))) (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 -1)))))))) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (sqrt.f64 im))) (/.f64 im -1/2)))
(-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (fma.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (cbrt.f64 (sqrt.f64 2))) (fma.f64 2 (*.f64 (*.f64 1/72 (*.f64 re re)) (cbrt.f64 (*.f64 -2 im))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 -2 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 1/72 (*.f64 re re)) (sqrt.f64 -1))) (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 -1)))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (sqrt.f64 im))) (/.f64 -1/2 im)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (*.f64 re (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (pow.f64 re 2)))))))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re))))))))) (pow.f64 im 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) re)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))))) im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im))) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 1/36 (*.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 -1 im)) 1/3) (pow.f64 re 2)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/18 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (pow.f64 re 2))) (*.f64 (pow.f64 1 1/6) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))))
(fma.f64 -1 (/.f64 (fma.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (sqrt.f64 -1)) (*.f64 (sqrt.f64 im) 1))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (fma.f64 -1/1296 (pow.f64 re 3) (fma.f64 1/36 (*.f64 (pow.f64 re 3) 1) (*.f64 -1/72 (*.f64 re (*.f64 0 (*.f64 re re)))))) (sqrt.f64 -1))) (*.f64 (sqrt.f64 im) 1) (fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (neg.f64 im) 1/6) (*.f64 re (fma.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im)))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im))))))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (neg.f64 im) 1/6) (fma.f64 2 (*.f64 (fma.f64 -1/1296 (pow.f64 re 3) (fma.f64 1/36 (*.f64 (pow.f64 re 3) 1) (*.f64 -1/72 (*.f64 re (*.f64 0 (*.f64 re re)))))) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im)))) (*.f64 -1/3 (*.f64 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im)))) re)))))))) (pow.f64 im 3)) (fma.f64 -1 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (*.f64 (sqrt.f64 im) 1))) -1/2) im) (fma.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (sqrt.f64 im) 1) (fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (fma.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im)))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (neg.f64 im))))))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1) (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 -1)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1)))))))))
(-.f64 (-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (fma.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (cbrt.f64 (sqrt.f64 2))) (fma.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (cbrt.f64 (*.f64 -2 im))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 -2 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (sqrt.f64 -1))) (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 -1)))))))) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (sqrt.f64 im))) (/.f64 im -1/2))) (/.f64 (+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (neg.f64 im) 1/6) (fma.f64 2 (*.f64 (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 (*.f64 -1/72 (*.f64 re 0)))) (cbrt.f64 (*.f64 -2 im))) (*.f64 -1/3 (*.f64 (*.f64 re (fma.f64 1/72 (*.f64 re re) 0)) (cbrt.f64 (*.f64 -2 im)))))) (*.f64 (*.f64 -1/6 (cbrt.f64 (sqrt.f64 2))) (*.f64 (*.f64 (pow.f64 (neg.f64 im) 1/6) re) (fma.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (cbrt.f64 (*.f64 -2 im))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 -2 im)))))))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (fma.f64 1/72 (*.f64 re re) 0)) (sqrt.f64 -1)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 (*.f64 -1/72 (*.f64 re 0)))))))) (pow.f64 im 3)))
(-.f64 (-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (fma.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (cbrt.f64 (sqrt.f64 2))) (fma.f64 2 (*.f64 (*.f64 1/72 (*.f64 re re)) (cbrt.f64 (*.f64 -2 im))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 -2 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 1/72 (*.f64 re re)) (sqrt.f64 -1))) (*.f64 1/18 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 -1)))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1)) (sqrt.f64 im))) (/.f64 -1/2 im))) (/.f64 (+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (neg.f64 im) 1/6) (fma.f64 2 (*.f64 (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 0)) (cbrt.f64 (*.f64 -2 im))) (*.f64 -1/3 (*.f64 (*.f64 re (*.f64 1/72 (*.f64 re re))) (cbrt.f64 (*.f64 -2 im)))))) (*.f64 (*.f64 -1/6 (cbrt.f64 (sqrt.f64 2))) (*.f64 (*.f64 (pow.f64 (neg.f64 im) 1/6) re) (fma.f64 2 (*.f64 (*.f64 1/72 (*.f64 re re)) (cbrt.f64 (*.f64 -2 im))) (*.f64 1/36 (*.f64 (*.f64 re re) (cbrt.f64 (*.f64 -2 im)))))))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/3 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (*.f64 1/72 (*.f64 re re))) (sqrt.f64 -1)))) (*.f64 (sqrt.f64 2) (*.f64 (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 0)) (sqrt.f64 -1)))))) (pow.f64 im 3)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 im 1/6) (cbrt.f64 (sqrt.f64 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (*.f64 (pow.f64 im 1/6) (cbrt.f64 (sqrt.f64 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (fma.f64 1/72 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 re re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (*.f64 (pow.f64 im 1/6) (cbrt.f64 (sqrt.f64 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))) (*.f64 35/1296 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6))))))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (fma.f64 1/72 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 re re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6) (*.f64 35/1296 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (fma.f64 1/72 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 re re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (fma.f64 35/1296 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6))) (*.f64 (pow.f64 im 1/6) (cbrt.f64 (sqrt.f64 2))))))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))
(*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (cbrt.f64 (sqrt.f64 2)))
(*.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (cbrt.f64 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (cbrt.f64 (sqrt.f64 2)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2)))) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (cbrt.f64 (sqrt.f64 2))))
(fma.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 -1/24 (cbrt.f64 (sqrt.f64 2))) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))))
(fma.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 -1/24 (cbrt.f64 (sqrt.f64 2))) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 re 4)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 re 4)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (+.f64 (*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (*.f64 re re) (*.f64 im im)))) (fma.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))))) (cbrt.f64 (sqrt.f64 2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 re 6) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 (pow.f64 im 8) 1/16)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im)))))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 re 4)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (+.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 re 6)) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 (fma.f64 (pow.f64 im 8) 1/16 (*.f64 (pow.f64 im 8) 1/64)) -720) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 re 4)) (fma.f64 1/144 (*.f64 (pow.f64 im 4) 9/4) (*.f64 1/1152 (pow.f64 im 4)))) (+.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 re 6)) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 (fma.f64 (pow.f64 im 8) 1/16 (*.f64 (pow.f64 im 8) 1/64)) -720) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))
(+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im))))))
(fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) (*.f64 (*.f64 1/24 (cbrt.f64 (sqrt.f64 2))) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))))))
(+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(fma.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im)))))))
(+.f64 (*.f64 (*.f64 1/24 (cbrt.f64 (sqrt.f64 2))) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (*.f64 (/.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))))
(+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 4))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 6))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2)))))))
(fma.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 (*.f64 1/3456 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im)))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im))))))))
(+.f64 (fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) (*.f64 (*.f64 1/24 (cbrt.f64 (sqrt.f64 2))) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (*.f64 (/.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (/.f64 (fma.f64 (pow.f64 im 6) 1/82944 (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 (*.f64 1/3456 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im)))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))))
(*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (cbrt.f64 (sqrt.f64 2)))
(*.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (cbrt.f64 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (cbrt.f64 (sqrt.f64 2)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 2)) (pow.f64 re 2)))) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (cbrt.f64 (sqrt.f64 2))))
(fma.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 -1/24 (cbrt.f64 (sqrt.f64 2))) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))))
(fma.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 -1/24 (cbrt.f64 (sqrt.f64 2))) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))) (*.f64 19/1152 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 4)) (pow.f64 re 4))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (/.f64 (*.f64 re re) (*.f64 im im)))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (*.f64 19/1152 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))) (fma.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (cbrt.f64 (sqrt.f64 2)) (*.f64 19/1152 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 im 4))) (pow.f64 re 4)))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))) (fma.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (cbrt.f64 (sqrt.f64 2)) (*.f64 19/1152 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 im 4))) (pow.f64 re 4)))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 2)) (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))) (+.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (-.f64 (*.f64 1/4320 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 55/82944 (/.f64 1 (pow.f64 re 6)))) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 6)))) (*.f64 19/1152 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) (pow.f64 im 4)) (pow.f64 re 4)))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (/.f64 (*.f64 re re) (*.f64 im im)))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (fma.f64 1/4320 (fma.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) (/.f64 75/4 (pow.f64 re 6))) (neg.f64 (/.f64 55/82944 (pow.f64 re 6)))) (*.f64 (pow.f64 im 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))))) (*.f64 19/1152 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))))))) (+.f64 (*.f64 19/1152 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 im 4))) (pow.f64 re 4))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (*.f64 (+.f64 (fma.f64 1/4320 (fma.f64 -720 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -45 (pow.f64 re 6))) (/.f64 5/1152 (pow.f64 re 6))) (/.f64 -55/82944 (pow.f64 re 6))) (*.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re)))) (pow.f64 im 6)))))))
(fma.f64 -1/24 (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6))))) (+.f64 (*.f64 19/1152 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 im 4))) (pow.f64 re 4))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (*.f64 (+.f64 (fma.f64 1/4320 (fma.f64 -720 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -45 (pow.f64 re 6))) (/.f64 5/1152 (pow.f64 re 6))) (/.f64 -55/82944 (pow.f64 re 6))) (*.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) (pow.f64 im 6)))))))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 im 1/6) (cbrt.f64 (sqrt.f64 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (*.f64 (pow.f64 im 1/6) (cbrt.f64 (sqrt.f64 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (pow.f64 im 1/6) (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (pow.f64 im 1/6) (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (pow.f64 im 1/6) (*.f64 (*.f64 1/72 (*.f64 re re)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6))) (*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (fma.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (fma.f64 -1/1296 (pow.f64 re 3) (fma.f64 1/36 (*.f64 (pow.f64 re 3) 1) (*.f64 -1/72 (*.f64 re (*.f64 0 (*.f64 re re))))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (pow.f64 im 1/6) (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (+.f64 (pow.f64 im 1/6) (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 (*.f64 -1/72 (*.f64 re 0))))))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (+.f64 (+.f64 (pow.f64 im 1/6) (*.f64 (*.f64 1/72 (*.f64 re re)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 0))))))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) re))) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))
(fma.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 re (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) re))) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3))))
(fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (fma.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 re (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6))))
(fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (fma.f64 1/72 (*.f64 re re) 0)) (fma.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 re (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6))))
(fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 1/72 (*.f64 re re))) (fma.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 re (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6) (+.f64 (*.f64 -1/1296 (pow.f64 re 3)) (+.f64 (*.f64 1/36 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (*.f64 -1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) re))) (*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3)))))
(fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (fma.f64 -1 (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (fma.f64 -1/1296 (pow.f64 re 3) (fma.f64 1/36 (*.f64 (pow.f64 re 3) 1) (*.f64 -1/72 (*.f64 re (*.f64 0 (*.f64 re re)))))) (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6))) (fma.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 re (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6)))))
(fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (fma.f64 1/72 (*.f64 re re) 0)) (-.f64 (fma.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 re (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 (*.f64 -1/72 (*.f64 re 0)))) (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6)))))
(-.f64 (fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 1/72 (*.f64 re re))) (fma.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) (*.f64 re (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 (neg.f64 im) 1/6)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 (fma.f64 (pow.f64 re 3) -1/1296 (fma.f64 (pow.f64 re 3) 1/36 0)) (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) re)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2) 2))))))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) -1/2 (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2) 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) -1/2 (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) 1/4))) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2) 2))))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2) 2)))))))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) -1/2 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2) 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 1/4 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2) 2))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)) -1/2 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) 1/4))) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 1/4 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) 1/4))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 im 5) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2))))) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (/.f64 -1/16 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (*.f64 1/16 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 im 5) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2))))) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 -1/2 (/.f64 re (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))))) (*.f64 -1/8 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (/.f64 -1/16 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 re re)))) (pow.f64 im 7)))) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (/.f64 -1/16 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)))))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
0.1b
(/.f64 im (sqrt.f64 re))
Compiler

Compiled 17 to 7 computations (58.8% saved)

series9.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
(/.f64 im (sqrt.f64 re))
1.0ms
re
@-inf
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
1.0ms
im
@-inf
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
1.0ms
im
@-inf
(/.f64 im (sqrt.f64 re))
1.0ms
re
@inf
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))

rewrite101.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
719×pow1_binary64
667×add-log-exp_binary64
667×log1p-expm1-u_binary64
667×expm1-log1p-u_binary64
652×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
114615
2180715
Stop Event
node limit
Counts
2 → 51
Calls
Call 1
Inputs
(/.f64 im (sqrt.f64 re))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (pow.f64 re -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re -1/2) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 im im) re))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (sqrt.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im 1/2)) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im 1/2) 1) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im 1/2) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 im) 1/2) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (neg.f64 im)) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (/.f64 (*.f64 im im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))))

simplify21.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09252
115252
222252
324252
Stop Event
saturated
Counts
75 → 54
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))

localize22.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (/.f64 1 re))
0.1b
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
Compiler

Compiled 24 to 17 computations (29.2% saved)

series4.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite121.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
772×pow1_binary64
711×add-log-exp_binary64
711×log1p-expm1-u_binary64
711×expm1-log1p-u_binary64
694×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0912
11809
220319
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 im (sqrt.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (pow.f64 (*.f64 im 1/2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 im 1/2) 3) (/.f64 (pow.f64 re -1/2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))))

simplify16.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
115144
222144
324144
Stop Event
saturated
Counts
26 → 15
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
Outputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))

localize43.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
0.1b
(/.f64 im (sqrt.f64 re))
2.6b
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
3.2b
(log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
Compiler

Compiled 32 to 14 computations (56.3% saved)

series148.0ms (1.4%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
95.0ms
im
@0
(log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
32.0ms
im
@-inf
(log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
12.0ms
im
@inf
(log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
2.0ms
re
@0
(log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
2.0ms
re
@-inf
(log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))

rewrite130.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
805×pow1_binary64
746×add-log-exp_binary64
746×log1p-expm1-u_binary64
746×expm1-log1p-u_binary64
729×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
117120
2201720
Stop Event
node limit
Counts
2 → 62
Calls
Call 1
Inputs
(log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 1/2) (log.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (*.f64 im im) re)))) (log.f64 (cbrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) (log.f64 (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 1/2) 1) (log.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 1/2 im)) (log.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 2) (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 1/2) 3) (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3)) (+.f64 (*.f64 (log.f64 1/2) (log.f64 1/2)) (-.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 (/.f64 im (sqrt.f64 re)))) (*.f64 (log.f64 1/2) (log.f64 (/.f64 im (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 1/2) (log.f64 1/2)) (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 (/.f64 im (sqrt.f64 re))))) (-.f64 (log.f64 1/2) (log.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (*.f64 (pow.f64 re -1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (sqrt.f64 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (cbrt.f64 (*.f64 1/4 (/.f64 (*.f64 im im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (*.f64 im im) re))) (cbrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 im) (pow.f64 re -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (sqrt.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 re) (*.f64 1/2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 im) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 im)) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 im) 1) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 im) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)) (pow.f64 re 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 im) 1/2) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (neg.f64 im)) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (/.f64 (*.f64 im im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))))))))

simplify100.0ms (1%)

Algorithm
egg-herbie
Rules
628×fma-neg_binary64
322×fma-def_binary64
163×distribute-rgt-in_binary64
152×associate--r+_binary64
136×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025352
151348
278348
3159348
4338348
5688348
61183348
71974348
82490348
92646348
102651348
Stop Event
saturated
Counts
86 → 68
Calls
Call 1
Inputs
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
Outputs
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(-.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(-.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(-.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(-.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (log.f64 (/.f64 -1 im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))

localize41.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re))))
0.1b
(sqrt.f64 (/.f64 1 re))
0.1b
(*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re)))
5.8b
(exp.f64 (log.f64 im))
Compiler

Compiled 36 to 21 computations (41.7% saved)

series8.0ms (0.1%)

Counts
3 → 36
Calls

15 calls:

TimeVariablePointExpression
1.0ms
im
@-inf
(exp.f64 (log.f64 im))
1.0ms
re
@-inf
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re))))
1.0ms
re
@-inf
(*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re)))
1.0ms
re
@inf
(*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re)))
1.0ms
re
@inf
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re))))

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
839×pow1_binary64
771×add-log-exp_binary64
771×log1p-expm1-u_binary64
771×expm1-log1p-u_binary64
753×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01122
120416
2221316
Stop Event
node limit
Counts
3 → 46
Calls
Call 1
Inputs
(exp.f64 (log.f64 im))
(*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 im 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (sqrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 im 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 im) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 im))) (sqrt.f64 (log.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 im)) 2)) (cbrt.f64 (log.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 im 3))))) (#(struct:change #<rule egg-rr> (2) ((x . im)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 im))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 re) 3/2) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im 1/2) 1) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))))

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09264
115264
222264
324264
Stop Event
saturated
Counts
82 → 51
Calls
Call 1
Inputs
im
im
im
im
im
im
im
im
im
im
im
im
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
Outputs
im
im
im
im
im
im
im
im
im
im
im
im
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))

eval573.0ms (5.6%)

Compiler

Compiled 17091 to 13109 computations (23.3% saved)

prune122.0ms (1.2%)

Pruning

25 alts after pruning (19 fresh and 6 done)

PrunedKeptTotal
New54115556
Fresh549
Picked101
Done268
Total54925574
Error
0.1b
Counts
574 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
50.1b
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
49.9b
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (pow.f64 re -1/2)))
11.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
49.0b
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
49.3b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) 3))
49.0b
(pow.f64 (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 2)
55.8b
(*.f64 1/2 (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))) -1/8 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))))
49.1b
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
50.3b
(*.f64 1/2 (*.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 im)) 2)) (cbrt.f64 (log.f64 im))) (sqrt.f64 (/.f64 1 re))))
26.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
26.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
52.9b
(*.f64 (pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3) (*.f64 im 1/2))
49.0b
(*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2))
11.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
55.8b
(*.f64 (*.f64 1/2 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
12.7b
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))
28.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
49.0b
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
49.0b
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
49.0b
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
50.4b
(exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 3))
50.1b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)))
35.5b
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
49.1b
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 re -1/2)) 2) (*.f64 im 1/2))
Compiler

Compiled 632 to 512 computations (19% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 im re))
0.3b
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
Compiler

Compiled 31 to 16 computations (48.4% saved)

series6.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

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

rewrite52.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
838×pow1_binary64
780×add-log-exp_binary64
779×log1p-expm1-u_binary64
779×expm1-log1p-u_binary64
762×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
117215
2215215
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(sqrt.f64 (-.f64 im re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 im re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 3/2) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (-.f64 im re) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 im re)) (cbrt.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 (-.f64 im re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 im re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 im im) (*.f64 re re))) (sqrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 im re) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 im re) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 im re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 im re))))))))

simplify77.0ms (0.8%)

Algorithm
egg-herbie
Rules
863×associate-/r*_binary64
701×associate-/r/_binary64
436×fma-def_binary64
355×distribute-lft-out_binary64
336×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
098632
1269630
2824598
33369572
46367572
57562572
Stop Event
node limit
Counts
52 → 65
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 im (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 2) (sqrt.f64 -1))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 im im) -1)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (*.f64 im (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 -1))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 im im) -1)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 1/2 (*.f64 (*.f64 im (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 -1)))))))
(fma.f64 1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))))
(*.f64 (sqrt.f64 2) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 re (*.f64 re (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(*.f64 (sqrt.f64 2) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (fma.f64 (*.f64 re re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im))) (*.f64 (sqrt.f64 2) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (+.f64 (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (*.f64 (*.f64 re re) (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 -1/16 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))))
(*.f64 (sqrt.f64 2) (+.f64 (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (*.f64 (*.f64 re re) (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 re -1/16))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (*.f64 1/2 im) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (*.f64 1/2 im) (sqrt.f64 -1))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 im (sqrt.f64 -1)) (/.f64 im -1))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 im im) (sqrt.f64 -1))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 (/.f64 im (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (/.f64 im -1)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -1) 3))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 im (sqrt.f64 -1)) (/.f64 im -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 im im) (sqrt.f64 -1))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(+.f64 (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 (/.f64 im (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (/.f64 im -1))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im))))
(fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))
(fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (fma.f64 (*.f64 -1/8 (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))))
(fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (fma.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im)))
(fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (fma.f64 (*.f64 re re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (sqrt.f64 im)))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) -1/16)))))
(+.f64 (sqrt.f64 im) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (fma.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (*.f64 (*.f64 re re) (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 -1/16 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (*.f64 (*.f64 re re) (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 re -1/16)))))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 re) im)
0.2b
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
Compiler

Compiled 17 to 7 computations (58.8% saved)

series6.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
(/.f64 (sqrt.f64 re) im)
1.0ms
re
@0
(/.f64 (sqrt.f64 re) im)
1.0ms
im
@0
(/.f64 (sqrt.f64 re) im)
0.0ms
re
@inf
(/.f64 (sqrt.f64 re) im)
0.0ms
im
@-inf
(/.f64 (sqrt.f64 re) im)

rewrite55.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
765×pow1_binary64
712×add-log-exp_binary64
712×log1p-expm1-u_binary64
712×expm1-log1p-u_binary64
696×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
115315
2196515
Stop Event
node limit
Counts
2 → 57
Calls
Call 1
Inputs
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 (sqrt.f64 re) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (sqrt.f64 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sqrt.f64 re)) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (neg.f64 (sqrt.f64 re))) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) 1) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (sqrt.f64 im)) (sqrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (sqrt.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 re) (/.f64 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) (cbrt.f64 (/.f64 re (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 (sqrt.f64 re)) (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) (sqrt.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 1/4) (*.f64 (pow.f64 re 1/4) (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 re)) (/.f64 1 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 im) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 re) 1) (/.f64 (cbrt.f64 (sqrt.f64 re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 re 1/4) 1) (/.f64 (pow.f64 re 1/4) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 re 1/4) (cbrt.f64 (*.f64 im im))) (/.f64 (pow.f64 re 1/4) (cbrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 im)) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 re) (sqrt.f64 im)) (/.f64 (cbrt.f64 (sqrt.f64 re)) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 re (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 re 3/2) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))))))

simplify16.0ms (0.2%)

Algorithm
egg-herbie
Rules
20×associate-/l*_binary64
16×associate-/l/_binary64
10×associate-/r/_binary64
associate-/r*_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
012252
121216
233216
344216
448216
564216
6113216
7126216
Stop Event
saturated
Counts
81 → 59
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
Outputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)

localize65.0ms (0.6%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 2 (-.f64 im re)))
4.3b
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
Compiler

Compiled 51 to 32 computations (37.3% saved)

series3.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
1.0ms
im
@0
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
0.0ms
re
@-inf
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
0.0ms
im
@-inf
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
0.0ms
im
@inf
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
0.0ms
re
@inf
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
588×fma-def_binary64
441×log-prod_binary64
292×pow-prod-down_binary64
257×pow2_binary64
257×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01015
12279
232269
Stop Event
node limit
Counts
1 → 80
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (pow.f64 (*.f64 2 (-.f64 im re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) (-.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2) (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (-.f64 1 (*.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (neg.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (neg.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 2)) (-.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (-.f64 im re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2) (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 2 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (sqrt.f64 (-.f64 (*.f64 2 (-.f64 im re)) (sqrt.f64 (*.f64 2 (-.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 im re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 2 (-.f64 im re)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 im re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (*.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2)) (/.f64 1 (-.f64 (+.f64 1 (*.f64 2 (-.f64 im re))) (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (*.f64 -2 (-.f64 im re))) (/.f64 1 (-.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 2) (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) (sqrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) (-.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 1) (-.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 1) 1)))))

simplify76.0ms (0.7%)

Algorithm
egg-herbie
Rules
670×associate-/r*_binary64
648×associate-*l/_binary64
598×distribute-rgt-out_binary64
577×associate-/r/_binary64
531×associate-*r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
070363
1185363
2561347
32401323
46483319
Stop Event
node limit
Counts
88 → 95
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) im)) (sqrt.f64 -1)))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (*.f64 im (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 -1))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 im im) -1)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) im)) (sqrt.f64 -1))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(fma.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 im im) -1)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) im)) (sqrt.f64 -1)))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (/.f64 (*.f64 (pow.f64 im 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 (sqrt.f64 -1) 5)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/8) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 re re) (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/16) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))))

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2))
0.1b
(/.f64 im (sqrt.f64 re))
0.2b
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
3.2b
(sqrt.f64 (/.f64 im (sqrt.f64 re)))
Compiler

Compiled 33 to 13 computations (60.6% saved)

series92.0ms (0.9%)

Counts
3 → 36
Calls

18 calls:

TimeVariablePointExpression
67.0ms
re
@0
(sqrt.f64 (/.f64 im (sqrt.f64 re)))
9.0ms
re
@inf
(sqrt.f64 (/.f64 im (sqrt.f64 re)))
1.0ms
im
@-inf
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
1.0ms
re
@-inf
(sqrt.f64 (/.f64 im (sqrt.f64 re)))
1.0ms
im
@-inf
(*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2))

rewrite60.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
847×pow1_binary64
786×add-log-exp_binary64
786×log1p-expm1-u_binary64
786×expm1-log1p-u_binary64
767×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
121023
2219323
Stop Event
node limit
Counts
3 → 87
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (pow.f64 (pow.f64 re -1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (/.f64 1 (pow.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/4) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/2) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 re 1/4) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 im) (pow.f64 re 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 im)) (neg.f64 (pow.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (pow.f64 re -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/4) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re -1/2) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/4)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 im 1) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 re 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 im)) (pow.f64 re 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 im im) re))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (sqrt.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 im) 1/2) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 im) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (neg.f64 im)) (neg.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 im (sqrt.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))))

simplify96.0ms (0.9%)

Algorithm
egg-herbie
Rules
754×div-sub_binary64
657×associate-*l*_binary64
577×associate-/r*_binary64
501×*-commutative_binary64
438×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026416
151416
2102416
3233416
4608416
51572416
62233416
73250416
83924416
95021416
107035416
Stop Event
node limit
Counts
123 → 95
Calls
Call 1
Inputs
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
Outputs
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 -1))) (pow.f64 (/.f64 -1 re) 1/4))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 -1))) (pow.f64 (/.f64 -1 re) 1/4))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 -1))) (pow.f64 (/.f64 -1 re) 1/4))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 -1))) (pow.f64 (/.f64 -1 re) 1/4))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))

localize123.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
0.1b
(sqrt.f64 (/.f64 1 re))
0.2b
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
2.6b
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
Compiler

Compiled 49 to 36 computations (26.5% saved)

series45.0ms (0.4%)

Counts
3 → 20
Calls

15 calls:

TimeVariablePointExpression
16.0ms
im
@0
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
11.0ms
im
@-inf
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
7.0ms
im
@inf
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
5.0ms
re
@0
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
2.0ms
re
@-inf
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))

rewrite262.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
516×log-prod_binary64
484×prod-diff_binary64
338×pow-prod-down_binary64
288×pow2_binary64
212×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
124228
2293328
Stop Event
node limit
Counts
3 → 153
Calls
Call 1
Inputs
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 1/2 (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 1/2 (sqrt.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sqrt.f64 re)) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2) (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (sqrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (pow.f64 re -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (pow.f64 re -1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (cbrt.f64 (*.f64 (/.f64 1 re) 1/4))) (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 (sqrt.f64 re)))) (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (log.f64 1/2)) (pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 re -1/2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (*.f64 2 (log.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (pow.f64 (E.f64) (log.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (log.f64 (*.f64 im 1/2))) (pow.f64 (E.f64) (*.f64 -1/2 (log.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (E.f64) (exp.f64 (log1p.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (E.f64))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (E.f64) (/.f64 (pow.f64 (log.f64 im) 2) (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (pow.f64 (E.f64) (/.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2) (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) (*.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (*.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (+.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3))) (/.f64 1 (fma.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 1/2 (sqrt.f64 re)) im)) (pow.f64 (log.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (-.f64 (pow.f64 (log.f64 im) 2) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2))) (/.f64 1 (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) 1) (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2)))) (cbrt.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) (cbrt.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (cbrt.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))) (sqrt.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (sqrt.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) 1) (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (cbrt.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2)))) (sqrt.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) (sqrt.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (sqrt.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3) (pow.f64 im 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))) (cbrt.f64 im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))) (sqrt.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 im) (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 im) 2) (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re))))) (/.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2) (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (log.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3)) (/.f64 1 (fma.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 1/2 (sqrt.f64 re)) im)) (pow.f64 (log.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 im) 2) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2)) (/.f64 1 (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 1/2 (sqrt.f64 re)) im)) (pow.f64 (log.f64 im) 2)) (+.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re)))) (-.f64 (pow.f64 (log.f64 im) 2) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3)) (fma.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 1/2 (sqrt.f64 re)) im)) (pow.f64 (log.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3)) (+.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2) (-.f64 (pow.f64 (log.f64 im) 2) (*.f64 (log.f64 im) (log.f64 (/.f64 1/2 (sqrt.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 im) 2) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2)) (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3))) (neg.f64 (fma.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 1/2 (sqrt.f64 re)) im)) (pow.f64 (log.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 im) 2) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2))) (neg.f64 (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2) (pow.f64 (log.f64 im) 2)) (log.f64 (/.f64 (/.f64 1/2 (sqrt.f64 re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 1/2 (sqrt.f64 re)) im)) (pow.f64 (log.f64 im) 2)) (+.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 (/.f64 im (/.f64 1/2 (sqrt.f64 re)))) (-.f64 (pow.f64 (log.f64 im) 2) (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (fma.f64 im (/.f64 1/2 (sqrt.f64 re)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 im 1)) (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 im (+.f64 1 (fma.f64 1/2 (pow.f64 re -1/2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 im 1)) (+.f64 1 (fma.f64 1/2 (pow.f64 re -1/2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (fma.f64 1/2 (pow.f64 re -1/2) -1)) im))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (+.f64 1 (-.f64 im 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (fma.f64 1/2 (pow.f64 re -1/2) -1)) (+.f64 1 (-.f64 im 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (fma.f64 im (/.f64 1/2 (sqrt.f64 re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 im) 1 (log.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 im) (log.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (/.f64 1/2 (sqrt.f64 re))) (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 1/2) (log.f64 (*.f64 (pow.f64 re -1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 1 (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 im)) (pow.f64 (cbrt.f64 (log.f64 im)) 2) (log.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 im)) 2) (cbrt.f64 (log.f64 im)) (log.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) 2) (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) 2) (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 im)) (sqrt.f64 (log.f64 im)) (log.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) (sqrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 1/2)) 2) (cbrt.f64 (log.f64 1/2)) (log.f64 (*.f64 (pow.f64 re -1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 1/2)) (sqrt.f64 (log.f64 1/2)) (log.f64 (*.f64 (pow.f64 re -1/2) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (log.f64 re)) (log.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 1/2) (*.f64 -1/2 (log.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 (cbrt.f64 re))) (log.f64 (*.f64 (pow.f64 re -1/6) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re)))) (log.f64 (cbrt.f64 (*.f64 (/.f64 1 re) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re)))) (log.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 1 re) 1/4))) (log.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 re -1/4)) (log.f64 (*.f64 (pow.f64 re -1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 1/2) 1) (*.f64 (*.f64 -1/2 (log.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 1/2 (/.f64 1 (cbrt.f64 re)))) (log.f64 (pow.f64 re -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 1/2 (pow.f64 re -1/4))) (log.f64 (pow.f64 re -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 1/2) (log.f64 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 1/2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) 2) (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) (sqrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (log.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (log.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 1/2) 3) (pow.f64 (*.f64 -1/2 (log.f64 re)) 3)) (+.f64 (pow.f64 (log.f64 1/2) 2) (-.f64 (pow.f64 (*.f64 -1/2 (log.f64 re)) 2) (*.f64 (log.f64 1/2) (*.f64 -1/2 (log.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 1/2) 2) (pow.f64 (*.f64 -1/2 (log.f64 re)) 2)) (log.f64 (/.f64 1/2 (pow.f64 re -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (fma.f64 1/2 (pow.f64 re -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (neg.f64 (log.f64 re)) (log.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/2 (log.f64 re)) (log.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 1/2) (*.f64 -1/2 (log.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 1/2) 1 (*.f64 (*.f64 -1/2 (log.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (log.f64 re))) 2) (cbrt.f64 (*.f64 -1/2 (log.f64 re))) (log.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 1/2)) 2) (cbrt.f64 (log.f64 1/2)) (*.f64 -1/2 (log.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -1/2 (log.f64 re))) (sqrt.f64 (*.f64 -1/2 (log.f64 re))) (log.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 1/2)) (sqrt.f64 (log.f64 1/2)) (*.f64 -1/2 (log.f64 re)))))))

simplify75.0ms (0.7%)

Algorithm
egg-herbie
Rules
610×times-frac_binary64
504×associate-/l*_binary64
319×associate-*l/_binary64
301×associate--r-_binary64
276×exp-sum_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024360
152320
2106288
3310288
4876288
52682288
Stop Event
node limit
Counts
173 → 159
Calls
Call 1
Inputs
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
Outputs
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(exp.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(exp.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (exp.f64 (log.f64 im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (+.f64 (log.f64 -1) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (log.f64 im))

eval308.0ms (3%)

Compiler

Compiled 8964 to 6125 computations (31.7% saved)

prune174.0ms (1.7%)

Pruning

28 alts after pruning (19 fresh and 9 done)

PrunedKeptTotal
New5617568
Fresh21214
Picked101
Done1910
Total56528593
Error
0.1b
Counts
593 → 28
Alt Table
Click to see full alt table
StatusErrorProgram
50.3b
(exp.f64 (fma.f64 (pow.f64 (cbrt.f64 (log.f64 im)) 2) (cbrt.f64 (log.f64 im)) (log.f64 (/.f64 1/2 (sqrt.f64 re)))))
49.0b
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
50.1b
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (pow.f64 re -1/2)))))
11.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
49.0b
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
49.1b
(/.f64 1/2 (*.f64 (pow.f64 re 1/4) (*.f64 (pow.f64 re 1/4) (/.f64 1 im))))
50.4b
(exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 3))
27.4b
(*.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3) (sqrt.f64 2)))
49.0b
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
55.8b
(*.f64 1/2 (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))) -1/8 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))))
49.3b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) 3))
49.0b
(pow.f64 (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 2)
49.1b
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
50.3b
(*.f64 1/2 (*.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 im)) 2)) (cbrt.f64 (log.f64 im))) (sqrt.f64 (/.f64 1 re))))
49.0b
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
26.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
26.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
52.9b
(*.f64 (pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3) (*.f64 im 1/2))
11.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
55.8b
(*.f64 (*.f64 1/2 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
12.7b
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))
28.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
49.0b
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
49.9b
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (pow.f64 re -1/2)))
49.1b
(/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
50.1b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)))
35.5b
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
Compiler

Compiled 390 to 313 computations (19.7% saved)

regimes751.0ms (7.3%)

Counts
46 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3) (*.f64 im 1/2))
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
(/.f64 1/2 (*.f64 (pow.f64 re 1/4) (*.f64 (pow.f64 re 1/4) (/.f64 1 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (pow.f64 re -1/2)))
(pow.f64 (sqrt.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) 2)
(*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 2)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 re -1/2)) 2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
(*.f64 1/2 (*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (sqrt.f64 2)))
(*.f64 (*.f64 1/2 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (pow.f64 re -1/2)))))
(exp.f64 (+.f64 (log.f64 im) (log.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3) (sqrt.f64 2)))
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))
(exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)))) 3))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 3)))
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) 1) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))))
(*.f64 1/2 (*.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 im)) 2)) (cbrt.f64 (log.f64 im))) (sqrt.f64 (/.f64 1 re))))
(exp.f64 (fma.f64 (pow.f64 (cbrt.f64 (log.f64 im)) 2) (cbrt.f64 (log.f64 im)) (log.f64 (/.f64 1/2 (sqrt.f64 re)))))
(*.f64 1/2 (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (*.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))) -1/8 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 1/6) (pow.f64 (*.f64 im im) 1/6)) 3))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
Calls

8 calls:

198.0ms
im
122.0ms
re
80.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
78.0ms
(*.f64 im im)
77.0ms
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
ErrorSegmentsBranch
6.6b2re
9.0b5im
5.2b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
5.2b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
5.2b3(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
5.2b3(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
10.4b3(*.f64 im im)
10.4b3(*.f64 im im)
Compiler

Compiled 626 to 432 computations (31% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
1.4160015777271056e-295
0.0ms
-1.364179407045828e-308
0.0
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes149.0ms (1.4%)

Counts
15 → 5
Calls
Call 1
Inputs
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
Calls

4 calls:

52.0ms
im
40.0ms
re
27.0ms
(*.f64 im im)
26.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
12.6b5re
19.5b7im
20.9b5(*.f64 im im)
20.9b5(*.f64 im im)
Compiler

Compiled 134 to 91 computations (32.1% saved)

bsearch204.0ms (2%)

Algorithm
binary-search
Steps
TimeLeftRight
66.0ms
7.108154288195874e+53
7.539928448981052e+53
57.0ms
8.168045795003346e-29
7.970897896008015e-28
52.0ms
2.672776537165513e-52
5.529357282005035e-46
27.0ms
-2.5243801377203508e+35
-4.615174619191893e+29
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes89.0ms (0.9%)

Counts
12 → 5
Calls
Call 1
Inputs
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
Calls

2 calls:

49.0ms
im
35.0ms
re
Results
ErrorSegmentsBranch
12.6b5re
19.5b7im
Compiler

Compiled 91 to 61 computations (33% saved)

bsearch194.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
7.108154288195874e+53
7.539928448981052e+53
56.0ms
8.168045795003346e-29
7.970897896008015e-28
51.0ms
2.672776537165513e-52
5.529357282005035e-46
26.0ms
-2.5243801377203508e+35
-4.615174619191893e+29
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes75.0ms (0.7%)

Counts
11 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
Calls

2 calls:

47.0ms
im
25.0ms
re
Results
ErrorSegmentsBranch
14.3b3re
19.9b7im
Compiler

Compiled 83 to 55 computations (33.7% saved)

bsearch168.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
142.0ms
7.108154288195874e+53
7.539928448981052e+53
26.0ms
-2.5243801377203508e+35
-4.615174619191893e+29
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes48.0ms (0.5%)

Counts
10 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 im (/.f64 re im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
Calls

2 calls:

26.0ms
im
18.0ms
re
Results
ErrorSegmentsBranch
21.5b2re
24.2b4im
Compiler

Compiled 75 to 48 computations (36% saved)

bsearch127.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
127.0ms
7.108154288195874e+53
7.539928448981052e+53
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes30.0ms (0.3%)

Accuracy

Total -0.1b remaining (-0.3%)

Threshold costs -0.1b (-0.3%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Outputs
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
Calls

2 calls:

23.0ms
re
5.0ms
im
Results
ErrorSegmentsBranch
49.0b1re
49.0b1im
Compiler

Compiled 38 to 22 computations (42.1% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
14×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
066326
189326
295326
397326
498326
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) -1012011266536553/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (if (<=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 0) (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1801447822379845/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 7286140321771965/89202980794122492566142873090593446023921664) (/.f64 1/2 (/.f64 (sqrt.f64 re) im)) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1801447822379845/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 7286140321771965/89202980794122492566142873090593446023921664) (/.f64 1/2 (/.f64 (sqrt.f64 re) im)) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
Outputs
(if (<=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) -1012011266536553/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (if (<=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 0) (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1801447822379845/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 7286140321771965/89202980794122492566142873090593446023921664) (/.f64 1/2 (/.f64 (sqrt.f64 re) im)) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1801447822379845/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 7286140321771965/89202980794122492566142873090593446023921664) (/.f64 1/2 (/.f64 (sqrt.f64 re) im)) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (+.f64 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1) -1)) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1801447822379845/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 7286140321771965/89202980794122492566142873090593446023921664) (/.f64 1/2 (/.f64 (sqrt.f64 re) im)) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(if (<=.f64 re -252438013772035078529286080347242496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))
(if (<=.f64 re 710815428819587395218201304751969909763369001237348352) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
Compiler

Compiled 231 to 162 computations (29.9% saved)

soundness258.0ms (2.5%)

Algorithm
egg-herbie
Rules
685×associate-*r/_binary64
640×fma-neg_binary64
490×associate-/l/_binary64
395×associate-/r/_binary64
374×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
016428
133428
265428
3121428
4287428
5886428
61562428
73753428
84532428
96021428
107529428
Stop Event
node limit
saturated
saturated
Compiler

Compiled 88 to 66 computations (25% saved)

end211.0ms (2%)

Compiler

Compiled 219 to 143 computations (34.7% saved)

Profiling

Loading profile data...