Details

Time bar (total: 8.5s)

analyze220.0ms (2.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
0%50%50%2
0%50%50%3
6.2%43.7%50%4
12.5%37.5%50%5
18.7%31.2%50%6
23.4%26.5%50%7
27.3%22.6%50%8
30%19.9%50%9
32.2%17.8%50%10
33.7%16.3%50%11
34.8%15.2%50%12
Compiler

Compiled 20 to 14 computations (30% saved)

sample2.7s (32.4%)

Results
1.3s6435×body256valid
570.0ms641×body2048valid
506.0ms549×body4096valid
167.0ms413×body1024valid
52.0ms218×body512valid

preprocess68.0ms (0.8%)

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)

simplify34.0ms (0.4%)

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
12.2b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
12.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
Compiler

Compiled 12 to 9 computations (25% saved)

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
0.7b
(-.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)))

rewrite66.0ms (0.8%)

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

simplify44.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))))))

eval71.0ms (0.8%)

Compiler

Compiled 2431 to 1710 computations (29.7% saved)

prune31.0ms (0.4%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New9213105
Fresh000
Picked011
Done000
Total9214106
Error
0.1b
Counts
106 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
26.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
12.6b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2))
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
28.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
12.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
48.6b
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
56.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
48.6b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
56.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
25.0b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
12.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
28.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
53.6b
(*.f64 1/2 (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)))))))
58.3b
(*.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)))))))
Compiler

Compiled 490 to 411 computations (16.1% saved)

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
0.4b
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
0.7b
(-.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
re
@0
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
1.0ms
im
@inf
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
1.0ms
re
@-inf
(sqrt.f64 (-.f64 (hypot.f64 re im) re))

rewrite76.0ms (0.9%)

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

simplify91.0ms (1.1%)

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

localize18.0ms (0.2%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize37.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 50 to 29 computations (42% saved)

series21.0ms (0.2%)

Counts
3 → 60
Calls

18 calls:

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

rewrite136.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
956×pow1_binary64
886×add-log-exp_binary64
886×log1p-expm1-u_binary64
886×expm1-log1p-u_binary64
102×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify172.0ms (2%)

Algorithm
egg-herbie
Rules
967×fma-def_binary64
652×associate-*l/_binary64
553×associate-*r/_binary64
502×fma-neg_binary64
355×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014524
128524
252524
3102524
4265524
5893524
62080524
73218524
85040524
97136524
107955524
Stop Event
node limit
Counts
124 → 70
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 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.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)
(/.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 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.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 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(/.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))

localize98.0ms (1.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
0.7b
(-.f64 (hypot.f64 re im) re)
12.5b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series37.0ms (0.4%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
8.0ms
re
@inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
6.0ms
re
@-inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
4.0ms
im
@0
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
4.0ms
re
@0
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
3.0ms
im
@inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)

rewrite119.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
458×log-prod_binary64
410×prod-diff_binary64
345×exp-prod_binary64
268×pow2_binary64
266×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01028
121925
2273125
Stop Event
node limit
Counts
2 → 75
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/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 1 (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/6) (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)) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(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 (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 (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 pow.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) 3/2) 1/3)))) (#(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 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2) 4) 1/4)))) (#(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 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 3/4)))) (#(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) 3/4) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(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 (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 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 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 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3))))) (#(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 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/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 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 3/4))))) (#(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 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.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 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(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) 3/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (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) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) (pow.f64 2 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 3/2) (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/2) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/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) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.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 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/4) 2))))))

simplify98.0ms (1.2%)

Algorithm
egg-herbie
Rules
696×times-frac_binary64
486×associate-/r*_binary64
481×associate-/l*_binary64
400×distribute-rgt-in_binary64
388×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02822167
18741958
230831633
Stop Event
node limit
Counts
107 → 136
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 3)) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/8 (/.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 re 2)))) (pow.f64 im 7)) (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 -5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.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 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 6)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4)))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 (-.f64 (*.f64 1/480 (+.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 63/1024 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 6))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))))))) (pow.f64 im 3))))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/2 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (sqrt.f64 (/.f64 1 im))) (/.f64 (sqrt.f64 2) (*.f64 re re))) (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (/.f64 (neg.f64 re) (sqrt.f64 2)) (/.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (*.f64 re re)))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 3)) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 1/2 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (sqrt.f64 (/.f64 1 im))) (/.f64 (sqrt.f64 2) (*.f64 re re))) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (sqrt.f64 2)) (/.f64 (pow.f64 re 3) 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (fma.f64 (*.f64 1/4 (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (/.f64 (sqrt.f64 2) (pow.f64 re 3)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (/.f64 (neg.f64 re) (sqrt.f64 2)) (/.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (*.f64 re re)))))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/8)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5))) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 re)) (pow.f64 im 5)) (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 1 (pow.f64 re 5)) -1/64)) (pow.f64 im 5)) (*.f64 1/2 (sqrt.f64 re)))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/8 (/.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 re 2)))) (pow.f64 im 7)) (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5))) (fma.f64 1/2 (*.f64 (+.f64 (neg.f64 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (*.f64 1/8 (/.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 re re)))) (*.f64 (pow.f64 im 7) (sqrt.f64 re))) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (fma.f64 -1 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re) (*.f64 1/8 (/.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 re re)))) (*.f64 (sqrt.f64 re) (pow.f64 im 7)))))))
(+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 re)) (+.f64 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 1 (pow.f64 re 5)) -1/64)) (pow.f64 im 5)) (*.f64 (-.f64 (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 1 (pow.f64 re 5)) -1/64)) (*.f64 re re))) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (pow.f64 im 7)))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/8))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(*.f64 (sqrt.f64 8) (pow.f64 im 3/2))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 -3/2 (*.f64 re (sqrt.f64 8)))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 -3/2 (*.f64 re (sqrt.f64 8))))))
(fma.f64 (*.f64 (*.f64 re (*.f64 re 9/8)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)) (fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 -5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 -5/16 (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -5/16 (*.f64 (pow.f64 re 3) (sqrt.f64 8)))))))
(fma.f64 9/8 (*.f64 re (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 8)))) (fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (fma.f64 (*.f64 -5/16 (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))
(*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))
(fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))))
(+.f64 (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))))
(+.f64 (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (pow.f64 re 4)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))
(+.f64 (*.f64 -3/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))) (*.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 27/128) (pow.f64 re 4)) 1) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.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 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 6)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))))
(+.f64 (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (+.f64 (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (/.f64 (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -3/128 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))))
(+.f64 (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (+.f64 (*.f64 (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (pow.f64 re 4)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 (/.f64 (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 -720 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 re 6)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))))
(+.f64 (fma.f64 -3/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (*.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)) (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 27/128) (pow.f64 re 4)) (/.f64 (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (+.f64 (*.f64 (/.f64 -720 (*.f64 im im)) (*.f64 (pow.f64 im 8) 5/64)) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 re 6)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 3/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))
(fma.f64 3/8 (*.f64 (/.f64 im re) (/.f64 (*.f64 im (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2))) re)) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/16 (*.f64 (pow.f64 im 4) -9/4) (*.f64 9/128 (pow.f64 im 4)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (fma.f64 3/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) re)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 im re) (/.f64 (*.f64 im (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2))) re)) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2))) (/.f64 (*.f64 (pow.f64 im 4) -9/128) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2)))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 re 6) (fma.f64 9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 (*.f64 3/128 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im))))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/16 (*.f64 (pow.f64 im 4) -9/4) (*.f64 9/128 (pow.f64 im 4)))))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) re)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)))) (+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 6) 9/1024 (fma.f64 1/480 (*.f64 (pow.f64 im 6) 75/2) (*.f64 3/128 (*.f64 (pow.f64 im 6) -9/4))))))))
(+.f64 (+.f64 (fma.f64 3/8 (*.f64 (/.f64 im re) (/.f64 (*.f64 im (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2))) re)) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2))) (/.f64 (*.f64 (pow.f64 im 4) -9/128) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2))))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 4 3/2)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) 9/1024 (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (*.f64 (pow.f64 im 6) 5/64)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))
(*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))))
(fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4)))))
(+.f64 (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (fma.f64 27/128 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))
(fma.f64 -3/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 re) 3/2))) (pow.f64 im 4)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 (-.f64 (*.f64 1/480 (+.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 63/1024 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 6))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))))
(fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 (pow.f64 im 6) (fma.f64 1/480 (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 63/1024 (pow.f64 re 6))))) (+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (+.f64 (*.f64 27/128 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))) (*.f64 (+.f64 (*.f64 (pow.f64 im 6) (+.f64 (fma.f64 1/480 (fma.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) -720 (/.f64 -45 (pow.f64 re 6))) (/.f64 5/128 (pow.f64 re 6))) (/.f64 -63/1024 (pow.f64 re 6)))) 1) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))))
(fma.f64 -3/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (+.f64 (/.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)) (/.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 4)) 27/128)) (*.f64 (+.f64 (*.f64 (pow.f64 im 6) (+.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) -3/2) (*.f64 (/.f64 1 (pow.f64 re 6)) -23/1024))) 1) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))
(*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))))
(fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 2 3/2) (/.f64 im (pow.f64 im 3/2))) re) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8)))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im) (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im)))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 (pow.f64 2 3/2) (/.f64 im (pow.f64 im 3/2))) re)) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) (*.f64 im im)) 1) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (/.f64 (fma.f64 -9/16 (pow.f64 re 3) (fma.f64 -9/8 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 1/4 (*.f64 (pow.f64 re 3) 1)))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8)))))))
(+.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 re 3) -9/16 (fma.f64 (pow.f64 re 3) 1/4 (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im) (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 2 3/2) (/.f64 im (pow.f64 im 3/2))) im) (+.f64 (/.f64 (*.f64 (pow.f64 re 3) -5/16) im) (*.f64 re (*.f64 re 9/8)))) (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 2 3/2) (/.f64 im (pow.f64 im 3/2))) re) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (*.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re))))
(fma.f64 3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (fma.f64 3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im))))
(+.f64 (fma.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) im) (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) im)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))))))) (pow.f64 im 3))))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (+.f64 (fma.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8))))) (neg.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (pow.f64 im 3) (fma.f64 -9/16 (pow.f64 re 3) (fma.f64 -9/8 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 1/4 (*.f64 (pow.f64 re 3) 1)))))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (-.f64 (fma.f64 3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im))) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (/.f64 (pow.f64 im 3) (fma.f64 (pow.f64 re 3) -9/16 (fma.f64 (pow.f64 re 3) 1/4 (*.f64 re 0)))))))
(+.f64 (fma.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (*.f64 (/.f64 (pow.f64 2 3/2) im) (/.f64 (pow.f64 (/.f64 -1 im) -3/2) im)) (-.f64 (*.f64 re (*.f64 re 9/8)) (/.f64 (*.f64 (pow.f64 re 3) -5/16) im))))

localize60.0ms (0.7%)

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)

series20.0ms (0.2%)

Counts
4 → 0
Calls

15 calls:

TimeVariablePointExpression
4.0ms
im
@-inf
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
2.0ms
re
@-inf
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
2.0ms
im
@0
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
2.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))

rewrite116.0ms (1.4%)

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

simplify34.0ms (0.4%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval444.0ms (5.3%)

Compiler

Compiled 10775 to 7919 computations (26.5% saved)

prune198.0ms (2.3%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New4698477
Fresh628
Picked101
Done235
Total47813491
Error
0b
Counts
491 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
28.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
48.5b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
36.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
48.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
12.6b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2))
27.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
12.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 re -2)) (sqrt.f64 2)))
26.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
54.1b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
48.5b
(*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2)))
12.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
Compiler

Compiled 253 to 206 computations (18.6% saved)

localize75.0ms (0.9%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)
0.7b
(-.f64 (hypot.f64 re im) re)
Compiler

Compiled 55 to 27 computations (50.9% saved)

series30.0ms (0.3%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
8.0ms
re
@-inf
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)
6.0ms
im
@0
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)
5.0ms
re
@inf
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)
5.0ms
im
@inf
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)
3.0ms
im
@-inf
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)

rewrite101.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
468×log-prod_binary64
410×prod-diff_binary64
343×exp-prod_binary64
277×pow-prod-down_binary64
269×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01013
122712
2278312
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 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 (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 (-.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 (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 (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 (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 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) (pow.f64 (*.f64 2 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/8) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/8) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/8))))) (#(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 (pow.f64 (*.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 2 1/4))))) (#(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 (*.f64 2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 3))))) (#(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 (*.f64 1/4 (log.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/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))))))

simplify124.0ms (1.5%)

Algorithm
egg-herbie
Rules
873×associate-/l*_binary64
691×distribute-rgt-in_binary64
684×distribute-lft-in_binary64
333×fma-def_binary64
241×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02972444
19632207
238351870
Stop Event
node limit
Counts
57 → 78
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 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/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (+.f64 (*.f64 5/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -1/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (pow.f64 re 3)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4))))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 6))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2)) (pow.f64 re 6))) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4)))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))
(+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4))))) (pow.f64 re 6))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4)))) (pow.f64 im 4)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2)))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (*.f64 -13/4096 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 6))) (*.f64 2 (*.f64 (-.f64 (*.f64 1/2880 (+.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 37/24576 (/.f64 1 (pow.f64 re 6)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2)))) (pow.f64 im 6)) (+.f64 (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4)))) (pow.f64 im 4)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/24 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (+.f64 (*.f64 -1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 -1/384 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))) (pow.f64 im 3))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (*.f64 1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2))) (*.f64 1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 re (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/24 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (+.f64 (*.f64 -1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 -1/384 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)))) (pow.f64 im 3))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2))) (*.f64 1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im))))))
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 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2)))
(+.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 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) 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 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 1/8))))
(+.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 (*.f64 (+.f64 (*.f64 5/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -1/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (pow.f64 re 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 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) 1/16) (pow.f64 re 3) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (fma.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 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 1/16 (pow.f64 re 3))))))
(+.f64 (fma.f64 (*.f64 (*.f64 re (*.f64 re 1/8)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (sqrt.f64 2) 1/16)) (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2)
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4))))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2)) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))) (/.f64 (*.f64 1/256 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 im 4))) (pow.f64 re 4))))
(+.f64 (fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2)) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 3/128)))) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 re 4)) (pow.f64 im 4)))))
(+.f64 (fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2)) (fma.f64 1/256 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2)) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (/.f64 (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) 13/512)) 2))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 6))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2)) (pow.f64 re 6))) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4)))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4)))))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (fma.f64 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4)))))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))) (fma.f64 2 (/.f64 (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 -1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)) (*.f64 1/2880 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4)))))) (/.f64 (pow.f64 re 6) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))) (/.f64 (*.f64 1/256 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 im 4))) (pow.f64 re 4))))))))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (*.f64 re re)) (*.f64 im im)) (+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 re 6)) (+.f64 (*.f64 1/512 (pow.f64 im 6)) (*.f64 1/96 (*.f64 (pow.f64 im 6) 9/4)))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 3/128)))) (fma.f64 2 (*.f64 (/.f64 (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4) (*.f64 1/2880 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 -720 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4)))))) (pow.f64 re 6)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2)) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 re 4)) (pow.f64 im 4)))))) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 re 6)) (+.f64 (*.f64 1/512 (pow.f64 im 6)) (*.f64 1/96 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (*.f64 re re)) (*.f64 im im)) (+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (/.f64 (pow.f64 re 6) (*.f64 (pow.f64 im 4) 13/512))) (*.f64 im im)) (fma.f64 2 (*.f64 (/.f64 (*.f64 (pow.f64 im 4) 13/512) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (pow.f64 re 6)) (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4) (*.f64 1/2880 (+.f64 (*.f64 (/.f64 -720 (*.f64 im im)) (*.f64 (pow.f64 im 8) 5/64)) (*.f64 (pow.f64 im 6) 75/4)))))) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2)))))) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (/.f64 (pow.f64 re 6) (*.f64 (pow.f64 im 4) 13/512))) (*.f64 im im)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))
(fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))
(fma.f64 1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2))
(fma.f64 1/8 (*.f64 (/.f64 im (/.f64 (*.f64 re re) im)) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))
(+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))
(fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/512 (pow.f64 im 4))))) (fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))))
(fma.f64 1/256 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2) (pow.f64 re 4)) (pow.f64 im 4)) (fma.f64 2 (/.f64 (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -3/128)) (/.f64 (pow.f64 re 4) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2))) (fma.f64 1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2))))
(fma.f64 1/256 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (pow.f64 re 4)) (pow.f64 im 4)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 im 4) -11/512) (/.f64 (pow.f64 re 4) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))) (fma.f64 1/8 (*.f64 (/.f64 im (/.f64 (*.f64 re re) im)) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4))))) (pow.f64 re 6))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2))))))
(fma.f64 2 (/.f64 (fma.f64 1/24576 (pow.f64 im 6) (fma.f64 1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4)) (*.f64 1/2880 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/512 (pow.f64 im 4))))) (fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 1/512 (pow.f64 im 4)))))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))))))
(fma.f64 2 (*.f64 (/.f64 (fma.f64 (pow.f64 im 6) 1/24576 (fma.f64 1/2880 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 re 6)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2)) (fma.f64 2 (/.f64 (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -3/128)) (/.f64 (pow.f64 re 4) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2))) (fma.f64 1/256 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2) (pow.f64 re 4)) (pow.f64 im 4)) (fma.f64 1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2) (*.f64 re re)) (*.f64 im im)) (fma.f64 1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2) (pow.f64 re 6)) (+.f64 (*.f64 1/96 (*.f64 (pow.f64 im 6) -9/4)) (*.f64 1/512 (pow.f64 im 6)))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) 2))))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) 1/24576 (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (*.f64 (pow.f64 im 6) 5/384)))) (fma.f64 2 (/.f64 (*.f64 (pow.f64 im 4) -11/512) (/.f64 (pow.f64 re 4) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))) (fma.f64 1/256 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (pow.f64 re 4)) (pow.f64 im 4)) (fma.f64 1/8 (*.f64 (/.f64 im (/.f64 (*.f64 re re) im)) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)) (fma.f64 1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (pow.f64 re 6)) (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -11/512))) (pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2)
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4)))) (pow.f64 im 4)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2)))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 re 4)) 7/128) (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2)))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (*.f64 re re)) (*.f64 im im)) (fma.f64 (pow.f64 im 4) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) 7/128) (pow.f64 re 4)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2)))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (*.f64 re re)) (*.f64 im im)) (fma.f64 (pow.f64 im 4) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (/.f64 (pow.f64 re 4) 7/128)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2)))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (*.f64 -13/4096 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 6))) (*.f64 2 (*.f64 (-.f64 (*.f64 1/2880 (+.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 37/24576 (/.f64 1 (pow.f64 re 6)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2)))) (pow.f64 im 6)) (+.f64 (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2) (pow.f64 re 4)))) (pow.f64 im 4)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) 2))))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (fma.f64 -13/4096 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 re 6)) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (fma.f64 1/2880 (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 37/24576 (pow.f64 re 6))))))) (pow.f64 im 6) (fma.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (pow.f64 re 4)) 7/128) (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (*.f64 re re)) (*.f64 im im)) (fma.f64 (pow.f64 im 6) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) (+.f64 (fma.f64 1/2880 (fma.f64 -720 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 -45 (pow.f64 re 6))) (/.f64 5/768 (pow.f64 re 6))) (/.f64 -37/24576 (pow.f64 re 6)))) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) -13/4096) (pow.f64 re 6))) (fma.f64 (pow.f64 im 4) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2) 7/128) (pow.f64 re 4)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) 2))))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (*.f64 re re)) (*.f64 im im)) (fma.f64 (pow.f64 im 6) (fma.f64 2 (*.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (+.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) -1/4) (*.f64 (/.f64 1 (pow.f64 re 6)) 41/8192))) (*.f64 (/.f64 -13/4096 (pow.f64 re 6)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2))) (fma.f64 (pow.f64 im 4) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2) (/.f64 (pow.f64 re 4) 7/128)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4)) 2))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2) im) re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (*.f64 im im)))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2) im) re) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2) im) (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2))))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) im) (/.f64 (*.f64 re (*.f64 re 1/32)) im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/24 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (+.f64 (*.f64 -1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 -1/384 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))) (pow.f64 im 3))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (fma.f64 2 (/.f64 (fma.f64 1/24 (*.f64 (pow.f64 re 3) 1) (fma.f64 -1/32 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 (pow.f64 re 3) -1/384))) (/.f64 (pow.f64 im 3) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 (pow.f64 im 3) (*.f64 re (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32))))) (/.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (*.f64 im im)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2) im) re) (+.f64 (fma.f64 2 (*.f64 (/.f64 (fma.f64 (pow.f64 re 3) 1/24 (fma.f64 (pow.f64 re 3) -1/384 (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2) im) (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im)) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2) (pow.f64 im 3)) (*.f64 re (fma.f64 (*.f64 re re) 1/32 0)))))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 im) (log.f64 2))) 2))))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (+.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) (pow.f64 im 3)) (*.f64 (pow.f64 re 3) 5/128)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) im) (/.f64 (*.f64 re (*.f64 re 1/32)) im)) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 1/32) (pow.f64 im 3)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (*.f64 1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (*.f64 1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)))))
(fma.f64 1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))
(fma.f64 1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2))) (*.f64 1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (*.f64 1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2) (*.f64 im im)) (fma.f64 (*.f64 re re) 1/32 0)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (*.f64 1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))))))
(+.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2) (fma.f64 2 (*.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) (*.f64 im im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (*.f64 (/.f64 1/2 im) (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 re (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/24 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))) (+.f64 (*.f64 -1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 -1/384 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)))) (pow.f64 im 3))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2))) (*.f64 1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (fma.f64 -1 (/.f64 (fma.f64 -1/2 (*.f64 (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32))) (*.f64 (*.f64 2 (fma.f64 1/24 (*.f64 (pow.f64 re 3) 1) (fma.f64 -1/32 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 (pow.f64 re 3) -1/384)))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (pow.f64 im 3)) (fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (*.f64 1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2) (*.f64 im im)) (fma.f64 (*.f64 re re) 1/32 0)) (-.f64 (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (*.f64 1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)))) (/.f64 (fma.f64 2 (*.f64 (fma.f64 (pow.f64 re 3) 1/24 (fma.f64 (pow.f64 re 3) -1/384 (*.f64 re 0))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (*.f64 (*.f64 (*.f64 -1/2 re) (fma.f64 (*.f64 re re) 1/32 0)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))) (pow.f64 im 3)))))
(+.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2) (-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) (*.f64 im im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (*.f64 (/.f64 1/2 im) (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2))))) (/.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2) (+.f64 (*.f64 (*.f64 -1/2 re) (*.f64 re (*.f64 re 1/32))) (*.f64 2 (*.f64 (pow.f64 re 3) 5/128)))) (pow.f64 im 3))))

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series159.0ms (1.9%)

Counts
1 → 12
Calls

6 calls:

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

rewrite71.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
533×pow1_binary64
511×add-sqr-sqrt_binary64
496×add-log-exp_binary64
496×log1p-expm1-u_binary64
496×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11046
213486
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(/.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 (pow.f64 (cbrt.f64 im) 2) (*.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 (pow.f64 (cbrt.f64 im) 2) 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 (pow.f64 (cbrt.f64 im) 2) (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 (pow.f64 (cbrt.f64 im) 2) (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 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))))))))

simplify15.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07108
110108
Stop Event
saturated
Counts
42 → 31
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)
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)

localize27.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series16.0ms (0.2%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
10.0ms
im
@0
(sqrt.f64 (*.f64 2 (-.f64 im re)))
2.0ms
im
@-inf
(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)))

rewrite66.0ms (0.8%)

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

simplify59.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
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)))))))

localize13.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)) im)
Compiler

Compiled 27 to 19 computations (29.6% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

6 calls:

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

rewrite42.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
589×pow1_binary64
543×add-log-exp_binary64
543×log1p-expm1-u_binary64
543×expm1-log1p-u_binary64
529×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
079
11386
215766
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
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 (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 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))))))))

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize36.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 im re))
0.4b
(*.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))
0.0ms
im
@0
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
0.0ms
re
@inf
(sqrt.f64 (-.f64 im re))

rewrite80.0ms (0.9%)

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.9%)

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

eval196.0ms (2.3%)

Compiler

Compiled 8040 to 6028 computations (25% saved)

prune68.0ms (0.8%)

Pruning

13 alts after pruning (7 fresh and 6 done)

PrunedKeptTotal
New3152317
Fresh055
Picked011
Done257
Total31713330
Error
0b
Counts
330 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
28.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
48.5b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
36.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
48.5b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
12.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
27.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
12.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 re -2)) (sqrt.f64 2)))
26.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
54.1b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
27.2b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) 2))
48.5b
(*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2)))
Compiler

Compiled 218 to 179 computations (17.9% saved)

localize29.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 (-.f64 im re) 2) 1/4)
0.4b
(pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) 2)
Compiler

Compiled 42 to 26 computations (38.1% saved)

series17.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

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

rewrite73.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
947×pow1_binary64
886×add-log-exp_binary64
885×log1p-expm1-u_binary64
885×expm1-log1p-u_binary64
99×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0920
120619
2253019
Stop Event
node limit
Counts
2 → 47
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) 2)
(pow.f64 (*.f64 (-.f64 im re) 2) 1/4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) (pow.f64 (*.f64 (-.f64 im re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) (cbrt.f64 (*.f64 (-.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)) (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 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 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 im re) 1/4) (*.f64 (pow.f64 2 1/4) (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/8) (*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/8) (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) (pow.f64 (*.f64 (-.f64 im re) 2) 1/8)) (pow.f64 (*.f64 (-.f64 im re) 2) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 (-.f64 im re) 1/4)) (*.f64 (pow.f64 2 1/4) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2)))) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2))) 1/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (-.f64 im re) 1/4) 2) (pow.f64 (pow.f64 2 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) (pow.f64 (-.f64 im re) 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (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 log.f64 (+.f64 1 (expm1.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 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 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (pow.f64 (-.f64 im re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/8) (pow.f64 (*.f64 (-.f64 im re) 2) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2))) (sqrt.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/4) (pow.f64 (*.f64 (-.f64 im re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2))) 1/4) (pow.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1/4) (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/4 (log.f64 (*.f64 (-.f64 im re) 2))))))))

simplify163.0ms (1.9%)

Algorithm
egg-herbie
Rules
944×associate-/l*_binary64
475×distribute-rgt-in_binary64
471×distribute-lft-in_binary64
341×fma-def_binary64
270×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03293273
110112896
238482434
Stop Event
node limit
Counts
95 → 140
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 -2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 -2)))) (pow.f64 im 2)) (*.f64 (sqrt.f64 -2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (+.f64 (*.f64 3/64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 -2))) (*.f64 -7/64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 -2)))) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 -2)))) (pow.f64 im 2)) (*.f64 (sqrt.f64 -2) (sqrt.f64 re)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re)) (pow.f64 im 3))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 3)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/384 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 3))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) im)) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) im)) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/12 (pow.f64 re 3)) (*.f64 -1/32 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)))) (pow.f64 im 3))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)))))
(*.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 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (pow.f64 re 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (+.f64 (*.f64 3/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -7/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (pow.f64 re 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (pow.f64 re 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) im) re)))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) im) re)))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 im 3)) (+.f64 (*.f64 1/32 (pow.f64 im 3)) (*.f64 -1/12 (pow.f64 im 3))))) (pow.f64 re 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) im)) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) im) re)))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) im) re)))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) im) re)) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 2))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 -1/32 (pow.f64 im 3)) (+.f64 (*.f64 1/384 (pow.f64 im 3)) (*.f64 1/12 (pow.f64 im 3)))))) (*.f64 1/2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) im)))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) im) re)) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 2)))))))
(pow.f64 (*.f64 -2 re) 1/4)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4) im)) (pow.f64 (*.f64 -2 re) 1/4))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4) im)) (+.f64 (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 -2 re) 1/4)))
(+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 11)) 1/4) (pow.f64 im 3))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4) im)) (+.f64 (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 -2 re) 1/4))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 3)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/384 (pow.f64 re 3)))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) im)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) im))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/12 (pow.f64 re 3)) (*.f64 -1/32 (pow.f64 re 3)))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) im)))))
(pow.f64 (*.f64 2 im) 1/4)
(+.f64 (pow.f64 (*.f64 2 im) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)))
(+.f64 (pow.f64 (*.f64 2 im) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (+.f64 (pow.f64 (*.f64 2 im) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -1/384 (pow.f64 im 3)) (+.f64 (*.f64 1/32 (pow.f64 im 3)) (*.f64 -1/12 (pow.f64 im 3))))) (pow.f64 re 3)) (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/32 (pow.f64 im 3)) (+.f64 (*.f64 1/384 (pow.f64 im 3)) (*.f64 1/12 (pow.f64 im 3)))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 3))) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)))))
Outputs
(*.f64 (sqrt.f64 -2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 -2) (sqrt.f64 re)))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 -2) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 -2) (sqrt.f64 re) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -2) (+.f64 (sqrt.f64 re) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 -2)))) (pow.f64 im 2)) (*.f64 (sqrt.f64 -2) (sqrt.f64 re))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (fma.f64 1/16 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -3/16)) (*.f64 im im) (*.f64 (sqrt.f64 -2) (sqrt.f64 re))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8) (*.f64 im im) (*.f64 (sqrt.f64 -2) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 -2) (+.f64 (sqrt.f64 re) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))) (*.f64 im (*.f64 im (*.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (+.f64 (*.f64 3/64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 -2))) (*.f64 -7/64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 -2)))) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 -2)))) (pow.f64 im 2)) (*.f64 (sqrt.f64 -2) (sqrt.f64 re)))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) -1/16) (pow.f64 im 3) (fma.f64 (fma.f64 1/16 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -3/16)) (*.f64 im im) (*.f64 (sqrt.f64 -2) (sqrt.f64 re)))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (*.f64 (sqrt.f64 -2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) -1/16)) (pow.f64 im 3) (fma.f64 (*.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8) (*.f64 im im) (*.f64 (sqrt.f64 -2) (sqrt.f64 re)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 -2) -1/16)) im))) (*.f64 (sqrt.f64 -2) (+.f64 (sqrt.f64 re) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (*.f64 2 (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) re) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) (/.f64 (*.f64 (*.f64 re re) -3/32) im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2))))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (fma.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) -3/32) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re)) (pow.f64 im 3))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 3)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/384 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 3))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (fma.f64 -1/2 (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (pow.f64 im 3) (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)))) (fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (*.f64 2 (+.f64 (/.f64 (fma.f64 1/32 (pow.f64 re 3) (*.f64 (pow.f64 re 3) -11/128)) (/.f64 (pow.f64 im 3) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) re) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 (*.f64 re re) -3/32) (pow.f64 im 3)) (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)) (fma.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) (/.f64 (*.f64 (*.f64 re re) -3/32) im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) -7/128) (pow.f64 im 3)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)))))
(+.f64 (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (fma.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) (+.f64 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) -3/32)) (/.f64 (pow.f64 re 3) (/.f64 (pow.f64 im 3) -7/128)))) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))) (*.f64 -1/2 (*.f64 (+.f64 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) -3/32)) 1) (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2))
(fma.f64 -1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) im)) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2))))
(fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (fma.f64 -1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (fma.f64 2 (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2)) (fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2) im) (/.f64 (*.f64 (*.f64 re re) -3/32) im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2)) (fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2) im) (/.f64 re (/.f64 im (*.f64 re -3/32)))) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) im)) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/12 (pow.f64 re 3)) (*.f64 -1/32 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)))) (pow.f64 im 3))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)))))
(fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (fma.f64 -1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (fma.f64 2 (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (fma.f64 -1 (/.f64 (fma.f64 1/2 (*.f64 (*.f64 (*.f64 re re) -3/32) (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2) (fma.f64 1/384 (pow.f64 re 3) (*.f64 (pow.f64 re 3) 5/96))))) (pow.f64 im 3)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) 2)))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2)) (fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2) im) (/.f64 (*.f64 (*.f64 re re) -3/32) im)) (-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2) (*.f64 (pow.f64 re 3) 7/128)) (*.f64 (*.f64 1/2 (*.f64 (*.f64 re re) (*.f64 -3/32 re))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) 2))) (pow.f64 im 3))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2)) (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2) im) (/.f64 re (/.f64 im (*.f64 re -3/32)))) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2))) (/.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) 2) (+.f64 (*.f64 1/2 (*.f64 re (*.f64 (*.f64 re re) -3/32))) (*.f64 2 (*.f64 (pow.f64 re 3) 7/128)))) (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 (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 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (pow.f64 re 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/8) (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2))) (*.f64 re (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (+.f64 (*.f64 3/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -7/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (pow.f64 re 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/16 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (pow.f64 re 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/16) (pow.f64 re 3) (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/8) (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (sqrt.f64 2) -1/16)) (fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 (*.f64 re re) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (sqrt.f64 2) -1/16)) re))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2)
(pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) im) re)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (*.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 re im))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 im re) (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) im) re)))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) -3/32))) (*.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 re im))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) re) (/.f64 (*.f64 im im) re)) (fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) (/.f64 re im)) (*.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) re) (/.f64 (*.f64 im (*.f64 im -3/32)) re))))))
(+.f64 (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2) re) (/.f64 im (/.f64 re im))) (fma.f64 -1/2 (*.f64 (/.f64 im re) (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2)) (*.f64 (/.f64 2 re) (/.f64 (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2) (/.f64 re (*.f64 im (*.f64 im -3/32))))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 im 3)) (+.f64 (*.f64 1/32 (pow.f64 im 3)) (*.f64 -1/12 (pow.f64 im 3))))) (pow.f64 re 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) im)) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) im) re)))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (pow.f64 re 3) (fma.f64 -1/384 (pow.f64 im 3) (*.f64 (pow.f64 im 3) -5/96)))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) -3/32))) (*.f64 -1/2 (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (pow.f64 re 3) (*.f64 im (*.f64 (*.f64 im im) -3/32)))) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 re im))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) re) (/.f64 (*.f64 im im) re)) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) (/.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) -7/128))) (fma.f64 -1/2 (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) (/.f64 re im)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) (/.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) -3/32)))) (*.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) 2) re) (/.f64 (*.f64 im (*.f64 im -3/32)) re)))))))
(+.f64 (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2) re) (/.f64 im (/.f64 re im))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2) re) (+.f64 im (/.f64 (pow.f64 im 3) (/.f64 (*.f64 re re) -3/32))))) (*.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) 2) (*.f64 re re)) (+.f64 (/.f64 (pow.f64 im 3) (/.f64 re -7/128)) (*.f64 im (*.f64 im -3/32))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) im) re)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (*.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 re im))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) re) im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 im re) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) im) re)) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 2))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 re im)) (*.f64 2 (/.f64 (*.f64 (*.f64 im im) -3/32) (/.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2)))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) re)) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) re) im) (/.f64 (*.f64 (*.f64 im (*.f64 im -3/32)) 2) (/.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2))))))
(+.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (fma.f64 1/16 (*.f64 (/.f64 im (/.f64 re im)) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) re)) (fma.f64 -1/2 (*.f64 (/.f64 im re) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)) (*.f64 (/.f64 2 (*.f64 re re)) (*.f64 (*.f64 im (*.f64 im -3/32)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 -1/32 (pow.f64 im 3)) (+.f64 (*.f64 1/384 (pow.f64 im 3)) (*.f64 1/12 (pow.f64 im 3)))))) (*.f64 1/2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) im)))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) im) re)) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 2)))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 -1 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 -1/32 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 11/128))) (*.f64 1/2 (*.f64 (*.f64 im (*.f64 (*.f64 im im) -3/32)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2)))) (pow.f64 re 3)) (fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 re im)) (*.f64 2 (/.f64 (*.f64 (*.f64 im im) -3/32) (/.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) re)) (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) re) im) (/.f64 (*.f64 (*.f64 im (*.f64 im -3/32)) 2) (/.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)))) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) (*.f64 (pow.f64 im 3) 7/128)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) (*.f64 (*.f64 (pow.f64 im 3) -3/32) 1/2))) (pow.f64 re 3)))))
(+.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (-.f64 (fma.f64 1/16 (*.f64 (/.f64 im (/.f64 re im)) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) re)) (fma.f64 -1/2 (*.f64 (/.f64 im re) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)) (*.f64 (/.f64 2 (*.f64 re re)) (*.f64 (*.f64 im (*.f64 im -3/32)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))))) (/.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (+.f64 (*.f64 (*.f64 (pow.f64 im 3) 7/128) 2) (*.f64 (*.f64 (pow.f64 im 3) -3/32) 1/2))) (pow.f64 re 3))))
(pow.f64 (*.f64 -2 re) 1/4)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4) im)) (pow.f64 (*.f64 -2 re) 1/4))
(fma.f64 -1/4 (*.f64 im (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4)) (pow.f64 (*.f64 -2 re) 1/4))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4) im)) (+.f64 (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 -2 re) 1/4)))
(fma.f64 -1/4 (*.f64 im (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4)) (fma.f64 -3/32 (*.f64 (*.f64 im im) (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4)) (pow.f64 (*.f64 -2 re) 1/4)))
(fma.f64 -1/4 (*.f64 im (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4)) (fma.f64 -3/32 (*.f64 im (*.f64 im (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4))) (pow.f64 (*.f64 -2 re) 1/4)))
(+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 11)) 1/4) (pow.f64 im 3))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4) im)) (+.f64 (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 -2 re) 1/4))))
(fma.f64 -7/128 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 -2 (pow.f64 re 11)) 1/4)) (fma.f64 -1/4 (*.f64 im (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4)) (fma.f64 -3/32 (*.f64 (*.f64 im im) (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4)) (pow.f64 (*.f64 -2 re) 1/4))))
(fma.f64 -7/128 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 -2 (pow.f64 re 11)) 1/4)) (fma.f64 -1/4 (*.f64 im (pow.f64 (/.f64 -2 (pow.f64 re 3)) 1/4)) (fma.f64 -3/32 (*.f64 im (*.f64 im (pow.f64 (/.f64 -2 (pow.f64 re 7)) 1/4))) (pow.f64 (*.f64 -2 re) 1/4))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (*.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 im re))))
(fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 -1/4 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (*.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 im re)))) (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) -3/32))))
(+.f64 (*.f64 (/.f64 -1/4 im) (*.f64 re (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)))) (*.f64 (+.f64 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) -3/32)) 1) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 3)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/384 (pow.f64 re 3)))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)))))
(+.f64 (+.f64 (/.f64 (fma.f64 1/32 (pow.f64 re 3) (*.f64 (pow.f64 re 3) -11/128)) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))) (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (*.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 im re)))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) -3/32))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) -7/128) (pow.f64 im 3)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))) (*.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) (+.f64 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) -3/32)) (/.f64 (pow.f64 re 3) (/.f64 (pow.f64 im 3) -7/128)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) im)))
(+.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (*.f64 -1/4 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))))))
(fma.f64 -1/4 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))
(fma.f64 -1/4 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4))) (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) im))))
(+.f64 (+.f64 (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))))) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))) (*.f64 -1/4 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (*.f64 (/.f64 (*.f64 (*.f64 re re) -3/32) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))))
(+.f64 (*.f64 (/.f64 -1/4 im) (*.f64 re (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)))) (*.f64 (+.f64 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) -3/32)) 1) (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 -1/8 (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/12 (pow.f64 re 3)) (*.f64 -1/32 (pow.f64 re 3)))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) im)))))
(+.f64 (/.f64 (*.f64 (*.f64 re re) -3/32) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))))) (fma.f64 -1 (/.f64 (fma.f64 1/384 (pow.f64 re 3) (*.f64 (pow.f64 re 3) 5/96)) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))))) (+.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (*.f64 -1/4 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 re re) -3/32) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 7/128) (pow.f64 im 3)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4))) (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4))) (*.f64 (*.f64 (pow.f64 (/.f64 -1 im) -1/4) (pow.f64 -2 1/4)) (-.f64 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) -3/32)) (/.f64 (pow.f64 re 3) (/.f64 (pow.f64 im 3) 7/128)))))
(pow.f64 (*.f64 2 im) 1/4)
(pow.f64 (*.f64 im 2) 1/4)
(+.f64 (pow.f64 (*.f64 2 im) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)))
(+.f64 (pow.f64 (*.f64 im 2) 1/4) (*.f64 (*.f64 -1/4 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) re))
(fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (pow.f64 (*.f64 im 2) 1/4))
(+.f64 (pow.f64 (*.f64 2 im) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (pow.f64 (*.f64 im 2) 1/4) (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (*.f64 (*.f64 -3/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)) (*.f64 re re))))
(+.f64 (pow.f64 (*.f64 im 2) 1/4) (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (*.f64 (*.f64 re re) (*.f64 -3/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)))))
(+.f64 (pow.f64 (*.f64 im 2) 1/4) (*.f64 re (+.f64 (*.f64 -1/4 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (*.f64 (*.f64 -3/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)) re))))
(+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (+.f64 (pow.f64 (*.f64 2 im) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(fma.f64 -7/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4)) (+.f64 (pow.f64 (*.f64 im 2) 1/4) (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (*.f64 (*.f64 -3/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)) (*.f64 re re)))))
(+.f64 (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (*.f64 (*.f64 re re) (*.f64 -3/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)))) (fma.f64 -7/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4)) (pow.f64 (*.f64 im 2) 1/4)))
(+.f64 (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (pow.f64 (*.f64 im 2) 1/4)) (*.f64 (*.f64 re re) (+.f64 (*.f64 -3/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)) (*.f64 (*.f64 -7/128 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4)) re))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re)))
(*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))))
(fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) re) im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))))
(fma.f64 -1/4 (*.f64 (/.f64 im re) (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4))) (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2))))
(+.f64 (fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re)))))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) -3/32))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) re) im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re)))) (*.f64 (/.f64 (*.f64 im (*.f64 im -3/32)) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) re)))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 im re) (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4))) (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4))) (*.f64 (/.f64 im (/.f64 re (*.f64 im -3/32))) (/.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) re)))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -1/384 (pow.f64 im 3)) (+.f64 (*.f64 1/32 (pow.f64 im 3)) (*.f64 -1/12 (pow.f64 im 3))))) (pow.f64 re 3)) (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re)))))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) -3/32))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 3) (fma.f64 -1/384 (pow.f64 im 3) (*.f64 (pow.f64 im 3) -5/96))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) re) im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re)))) (+.f64 (*.f64 (/.f64 (*.f64 im (*.f64 im -3/32)) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) re)) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -2) (log.f64 re))) (/.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) -7/128)))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 im re) (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4))) (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4))) (*.f64 (/.f64 (*.f64 (pow.f64 -2 1/4) (pow.f64 re 1/4)) (*.f64 re re)) (+.f64 (*.f64 im (*.f64 im -3/32)) (/.f64 (pow.f64 im 3) (/.f64 re -7/128)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im))))
(fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re) im) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))
(fma.f64 -1/4 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4))) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2)))) (pow.f64 re 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im)) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) -3/32)))))
(+.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) (fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re) im) (*.f64 (/.f64 (*.f64 im (*.f64 im -3/32)) (*.f64 re re)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)))) (*.f64 (+.f64 (/.f64 im (/.f64 (*.f64 re re) (*.f64 im -3/32))) 1) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/32 (pow.f64 im 3)) (+.f64 (*.f64 1/384 (pow.f64 im 3)) (*.f64 1/12 (pow.f64 im 3)))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 3))) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 im 2)) (*.f64 1/32 (pow.f64 im 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)))))
(fma.f64 -1 (/.f64 (fma.f64 -1/32 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 11/128)) (/.f64 (pow.f64 re 3) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im)) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) -3/32))))))
(-.f64 (+.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) (fma.f64 -1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re) im) (*.f64 (/.f64 (*.f64 im (*.f64 im -3/32)) (*.f64 re re)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) 7/128) (pow.f64 re 3)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))))
(+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 im 3) -7/128) (pow.f64 re 3)) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)))) (*.f64 (+.f64 (/.f64 im (/.f64 (*.f64 re re) (*.f64 im -3/32))) 1) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)))))

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series4.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite45.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
551×pow1_binary64
511×add-log-exp_binary64
511×log1p-expm1-u_binary64
511×expm1-log1p-u_binary64
499×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07108
110108
Stop Event
saturated
Counts
23 → 12
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)
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)

localize12.0ms (0.1%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite64.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
647×pow1_binary64
600×add-log-exp_binary64
600×log1p-expm1-u_binary64
600×expm1-log1p-u_binary64
585×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0616
112613
2164313
Stop Event
node limit
Counts
2 → 44
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 im (/.f64 im 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 (/.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 im (/.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(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) (sqrt.f64 (/.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))) (#(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 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (/.f64 im re)) 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 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 (+.f64 1 (*.f64 im (/.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (/.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 re (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im im) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 im)) (neg.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 im im) (sqrt.f64 re)) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (/.f64 im re)) 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 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 im (/.f64 im re))))))))

simplify78.0ms (0.9%)

Algorithm
egg-herbie
Rules
688×fma-def_binary64
618×fma-neg_binary64
477×associate-*l*_binary64
434×unswap-sqr_binary64
423×associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012284
123284
242284
378284
4181284
5564284
62025284
74865284
86506284
97954284
Stop Event
node limit
Counts
80 → 49
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 (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 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.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 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.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 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.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 im (neg.f64 (sqrt.f64 (/.f64 1 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))
(/.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.3%)

Local error

Found 1 expressions with local error:

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

Compiled 31 to 26 computations (16.1% saved)

series3.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite54.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
650×pow1_binary64
603×add-log-exp_binary64
603×log1p-expm1-u_binary64
603×expm1-log1p-u_binary64
590×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval205.0ms (2.4%)

Compiler

Compiled 5837 to 4635 computations (20.6% saved)

prune42.0ms (0.5%)

Pruning

13 alts after pruning (3 fresh and 10 done)

PrunedKeptTotal
New2121213
Fresh022
Picked011
Done1910
Total21313226
Error
0b
Counts
226 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
48.5b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
36.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 re -4)))
48.5b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
12.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
27.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
12.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 re -2)) (sqrt.f64 2)))
26.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
54.1b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
28.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
27.2b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) 2))
48.5b
(*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2)))
Compiler

Compiled 138 to 112 computations (18.8% saved)

regimes372.0ms (4.4%)

Counts
26 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 re -4)))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 re -2)) (sqrt.f64 2)))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 1/4) 2))
(*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2))
(*.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))))
(*.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 (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)))))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Calls

8 calls:

77.0ms
(*.f64 im im)
62.0ms
im
52.0ms
(*.f64 im im)
40.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
28.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
ErrorSegmentsBranch
4.5b2re
9.5b5im
7.3b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
7.3b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
7.7b2(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
7.7b2(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
11.1b3(*.f64 im im)
11.1b3(*.f64 im im)
Compiler

Compiled 412 to 304 computations (26.2% saved)

bsearch61.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
61.0ms
2.9574321372706496e+33
1.6740027247442999e+37
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes141.0ms (1.7%)

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

4 calls:

55.0ms
im
38.0ms
(*.f64 im im)
22.0ms
(*.f64 im im)
21.0ms
re
Results
ErrorSegmentsBranch
12.0b3re
17.9b6im
20.7b4(*.f64 im im)
20.7b4(*.f64 im im)
Compiler

Compiled 122 to 91 computations (25.4% saved)

bsearch100.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
74.0ms
2.9574321372706496e+33
1.6740027247442999e+37
26.0ms
-1.8003833932240915e-35
-3.965415984387442e-39
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes50.0ms (0.6%)

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

2 calls:

27.0ms
im
21.0ms
re
Results
ErrorSegmentsBranch
12.4b3re
18.8b6im
Compiler

Compiled 49 to 36 computations (26.5% saved)

bsearch97.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
59.0ms
2.9574321372706496e+33
1.6740027247442999e+37
38.0ms
-1.8003833932240915e-35
-3.965415984387442e-39
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes47.0ms (0.6%)

Accuracy

Total -31.8b remaining (-99%)

Threshold costs -31.8b (-99%)

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

2 calls:

29.0ms
re
17.0ms
im
Results
ErrorSegmentsBranch
32.2b2re
41.4b5im
Compiler

Compiled 20 to 15 computations (25% saved)

bsearch26.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
-1.508712886351181e-305
1.3820176118492297e-307
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
037144
149144
255144
357144
458144
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re 2957432137270649610060882449006592) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -1684008497293041/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re 2957432137270649610060882449006592) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -1684008497293041/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re 2957432137270649610060882449006592) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -2982098513586479/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 re -4)))
Outputs
(if (<=.f64 re 2957432137270649610060882449006592) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -1684008497293041/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re 2957432137270649610060882449006592) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -1684008497293041/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re 2957432137270649610060882449006592) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -2982098513586479/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 re -4)))
Compiler

Compiled 106 to 82 computations (22.6% saved)

soundness207.0ms (2.5%)

Algorithm
egg-herbie
Rules
203×fma-def_binary64
203×fma-def_binary64
142×fma-neg_binary64
142×fma-neg_binary64
49×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
Stop Event
saturated
saturated
Compiler

Compiled 58 to 42 computations (27.6% saved)

end113.0ms (1.3%)

Compiler

Compiled 98 to 68 computations (30.6% saved)

Profiling

Loading profile data...