Details

Time bar (total: 9.4s)

analyze163.0ms (1.7%)

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.3s (25%)

Results
1.2s6362×body256valid
537.0ms686×body2048valid
316.0ms542×body4096valid
236.0ms432×body1024valid
58.0ms234×body512valid

preprocess69.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 19 to 14 computations (26.3% saved)

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

Compiled 12 to 9 computations (25% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(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)

series16.0ms (0.2%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
5.0ms
im
@inf
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
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
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.7%)

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

simplify76.0ms (0.8%)

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

eval192.0ms (2%)

Compiler

Compiled 2431 to 1710 computations (29.7% saved)

prune37.0ms (0.4%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New9312105
Fresh000
Picked011
Done000
Total9313106
Error
0.1b
Counts
106 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
28.0b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
54.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
54.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
57.5b
(*.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)))))))
47.8b
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
47.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
28.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
29.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
53.3b
(*.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)))))))
Compiler

Compiled 460 to 387 computations (15.9% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series7.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
im
@-inf
(sqrt.f64 (-.f64 (hypot.f64 re im) re))

rewrite111.0ms (1.2%)

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

simplify63.0ms (0.7%)

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

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 18 to 14 computations (22.2% saved)

series20.0ms (0.2%)

Counts
1 → 0
Calls

3 calls:

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

rewrite44.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
422×pow1_binary64
410×add-sqr-sqrt_binary64
401×*-un-lft-identity_binary64
392×add-log-exp_binary64
392×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize16.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series6.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite54.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

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

localize19.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
Compiler

Compiled 21 to 15 computations (28.6% saved)

series4.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite57.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
486×pow1_binary64
466×add-sqr-sqrt_binary64
458×*-un-lft-identity_binary64
450×add-log-exp_binary64
450×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify9.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

localize45.0ms (0.5%)

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)
15.1b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series35.0ms (0.4%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
9.0ms
re
@-inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
4.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)
3.0ms
im
@inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
2.0ms
im
@0
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))

rewrite123.0ms (1.3%)

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

simplify130.0ms (1.4%)

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

eval550.0ms (5.9%)

Compiler

Compiled 9988 to 7275 computations (27.2% saved)

prune138.0ms (1.5%)

Pruning

13 alts after pruning (8 fresh and 5 done)

PrunedKeptTotal
New4075412
Fresh437
Picked101
Done055
Total41213425
Error
0.0b
Counts
425 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
47.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
28.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
38.9b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
54.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
54.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 (/.f64 1/2 re) (*.f64 im im))) (sqrt.f64 2)))
57.5b
(*.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)))))))
13.0b
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) 2) (sqrt.f64 2)))
29.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
47.7b
(*.f64 1/2 (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
Compiler

Compiled 302 to 246 computations (18.5% saved)

localize25.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 59 to 31 computations (47.5% saved)

series25.0ms (0.3%)

Counts
2 → 32
Calls

12 calls:

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

rewrite71.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
480×log-prod_binary64
410×prod-diff_binary64
326×pow-prod-down_binary64
279×pow2_binary64
218×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify82.0ms (0.9%)

Algorithm
egg-herbie
Rules
853×distribute-rgt-in_binary64
849×distribute-lft-in_binary64
373×fma-def_binary64
315×associate-*r*_binary64
269×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03402702
110862426
244172077
Stop Event
node limit
Counts
87 → 112
Calls
Call 1
Inputs
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (+.f64 (*.f64 -1/64 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 5/64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (pow.f64 re 3)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.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 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)) (pow.f64 re 4)))))))))
(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/8 (/.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/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 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/8 (/.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 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.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 2) (*.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 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.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 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 6))) (+.f64 (*.f64 1/8 (/.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/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.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))) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (pow.f64 im 4))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (+.f64 (*.f64 (+.f64 (*.f64 -13/4096 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 6))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (-.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 im 6)) (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (pow.f64 im 4)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/16 (*.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 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/16 (*.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 (*.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)))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))) (sqrt.f64 im))) (*.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)))) (sqrt.f64 -1)) (sqrt.f64 im)))) (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (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 (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
(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))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 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))) (sqrt.f64 im)))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (+.f64 (*.f64 -1/64 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 5/64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (pow.f64 re 3)))))
(fma.f64 1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (+.f64 (sqrt.f64 im) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) 1/16) (pow.f64 re 3)))))
(+.f64 (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))) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (pow.f64 re 3))))
(+.f64 (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (*.f64 (*.f64 re re) (+.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) 1/16)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/8))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2)
(pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2)
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) re)) (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) re)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))))))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 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 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (/.f64 (*.f64 1/256 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (pow.f64 im 4))) (pow.f64 re 4)))))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) re)) (fma.f64 2 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 3/128)))) (fma.f64 1/256 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2))))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) re)) (fma.f64 2 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) 13/512))) (fma.f64 1/256 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (+.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 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 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 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) 2) (pow.f64 im 4)) (pow.f64 re 4)))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 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) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (/.f64 (pow.f64 re 6) (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)))))))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 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 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 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) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (/.f64 (*.f64 1/256 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (pow.f64 im 4))) (pow.f64 re 4))))))))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) re)) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 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 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 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 (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))))))) (fma.f64 2 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 3/128)))) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 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 1/256 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2)))))))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) re)) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (pow.f64 re 6)) (*.f64 im (*.f64 im (*.f64 (pow.f64 im 4) 13/512)))) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (pow.f64 re 6)) (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 1/2880 (+.f64 (*.f64 -720 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (*.f64 im im))) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4))))) (fma.f64 2 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) 13/512))) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (pow.f64 re 6)) (*.f64 im (*.f64 im (*.f64 (pow.f64 im 4) 13/512)))) (fma.f64 1/256 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 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 (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/8 (/.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 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (*.f64 1/8 (/.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/8 (*.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)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2))
(fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) re)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 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/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 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (+.f64 (*.f64 1/8 (/.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 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))))))
(fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (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))))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (fma.f64 1/8 (/.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))) (*.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))))
(+.f64 (fma.f64 1/8 (*.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 1/256 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2))))) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) (pow.f64 re 4)) (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -3/128))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)))
(+.f64 (fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) re)) (*.f64 1/256 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))))) (fma.f64 2 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) -11/512))) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 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/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 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.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 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2)) (pow.f64 re 6))) (+.f64 (*.f64 1/8 (/.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/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.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))) (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))))))))
(fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (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))))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (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 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2))) (fma.f64 1/8 (/.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/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (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)))))) (*.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))))))
(+.f64 (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 2) (log.f64 (/.f64 -1 re)))) 2)) (fma.f64 1/8 (*.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/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 6) (+.f64 (*.f64 1/96 (*.f64 (pow.f64 im 6) -9/4)) (*.f64 1/512 (pow.f64 im 6))))) (*.f64 1/256 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2))))))) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2) (pow.f64 re 4)) (fma.f64 1/512 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -3/128))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) 2)))
(+.f64 (fma.f64 2 (*.f64 (/.f64 (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))) (pow.f64 re 6)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)) (fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) re)) (fma.f64 1/8 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (/.f64 (/.f64 (pow.f64 re 6) (*.f64 im im)) (*.f64 (pow.f64 im 4) -11/512))) (*.f64 1/256 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2))))))) (fma.f64 2 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) -11/512))) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 re) -1/4)) 2)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2)
(pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2)
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (log.f64 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) re)) (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) re)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (pow.f64 im 4))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2)) (*.f64 (pow.f64 im 4) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (pow.f64 re 4)) 7/128)))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) re)) (fma.f64 (pow.f64 im 4) (/.f64 (*.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) 7/128) (pow.f64 re 4)) (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2)))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) re)) (fma.f64 (pow.f64 im 4) (/.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) 7/128) (pow.f64 re 4)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2)))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (+.f64 (*.f64 (+.f64 (*.f64 -13/4096 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 6))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (-.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 im 6)) (*.f64 (+.f64 (*.f64 13/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4))) (*.f64 1/256 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))))) 2) (pow.f64 re 4)))) (pow.f64 im 4)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2)) (fma.f64 (fma.f64 -13/4096 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (pow.f64 re 6)) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 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) (*.f64 (pow.f64 im 4) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im)))) 2) (pow.f64 re 4)) 7/128))))
(+.f64 (fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) re)) (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2)) (fma.f64 (pow.f64 im 4) (/.f64 (*.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) 7/128) (pow.f64 re 4)) (*.f64 (pow.f64 im 6) (fma.f64 2 (*.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 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 -13/4096 (/.f64 (pow.f64 (exp.f64 (fma.f64 1/4 (log.f64 (/.f64 1/2 re)) (*.f64 1/2 (log.f64 im)))) 2) (pow.f64 re 6)))))))
(+.f64 (fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) re)) (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2)) (fma.f64 (pow.f64 im 6) (fma.f64 2 (*.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 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 -13/4096 (/.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (pow.f64 re 6)))) (*.f64 (pow.f64 im 4) (/.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) 7/128) (pow.f64 re 4)))))
(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))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/16 (*.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 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/16 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32))))))
(+.f64 (sqrt.f64 im) (fma.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/16 (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (fma.f64 (*.f64 re re) 1/32 0))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 re (*.f64 re 1/32))) (*.f64 (*.f64 re re) 1/16)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/16 (*.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 (*.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)))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))))))))
(fma.f64 -1/2 (*.f64 re (*.f64 (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (sqrt.f64 im) (fma.f64 1/16 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (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 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))))))))
(+.f64 (fma.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/16 (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (fma.f64 (pow.f64 re 3) 1/24 (fma.f64 (pow.f64 re 3) -1/384 (*.f64 re 0))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (fma.f64 (*.f64 re re) 1/32 0)))))) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (fma.f64 re 0 (*.f64 (pow.f64 re 3) 1/32))) (sqrt.f64 im)))
(+.f64 (+.f64 (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 2 (*.f64 (pow.f64 re 3) 5/128)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 re (*.f64 re 1/32))) (*.f64 (*.f64 re re) 1/16)))) (fma.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 3) 1/32)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (sqrt.f64 im)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 -1))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1))) (*.f64 (sqrt.f64 im) (sqrt.f64 -1)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 1/2 re) (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)))
(+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)) (sqrt.f64 -1))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (*.f64 (*.f64 1/16 (*.f64 (*.f64 re re) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (fma.f64 (*.f64 re re) 1/32 0) (sqrt.f64 -1))) (fma.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 im) (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (*.f64 re re) 1/16) (sqrt.f64 -1))))))
(+.f64 (*.f64 (sqrt.f64 -1) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2))) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 (*.f64 re re) 1/16) (*.f64 (*.f64 re (*.f64 re 1/32)) 2)))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))) (sqrt.f64 im))) (*.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)))) (sqrt.f64 -1)) (sqrt.f64 im)))) (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(fma.f64 -1 (/.f64 (fma.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 -1)) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (*.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 (sqrt.f64 im) (sqrt.f64 -1))))) (pow.f64 im 3)) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)) (sqrt.f64 -1))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (*.f64 (*.f64 1/16 (*.f64 (*.f64 re re) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(-.f64 (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (fma.f64 (*.f64 re re) 1/32 0) (sqrt.f64 -1))) (fma.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 im) (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (*.f64 re re) 1/16) (sqrt.f64 -1)))))) (/.f64 (*.f64 (sqrt.f64 im) (+.f64 (*.f64 (*.f64 -1/2 (sqrt.f64 -1)) (fma.f64 re 0 (*.f64 (pow.f64 re 3) 1/32))) (*.f64 (*.f64 2 (fma.f64 (pow.f64 re 3) 1/24 (fma.f64 (pow.f64 re 3) -1/384 (*.f64 re 0)))) (sqrt.f64 -1)))) (pow.f64 im 3)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 -1) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2))) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 (*.f64 re re) 1/16) (*.f64 (*.f64 re (*.f64 re 1/32)) 2))))) (/.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 2 (*.f64 (pow.f64 re 3) 5/128)) (*.f64 -1/2 (*.f64 (pow.f64 re 3) 1/32))))) (pow.f64 im 3)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 2))) (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 2) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 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 (/.f64 1 im)) (*.f64 re (sqrt.f64 2))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 2))) (fma.f64 (sqrt.f64 im) (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.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 (*.f64 (sqrt.f64 im) (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))))) (*.f64 -1/2 (*.f64 re (sqrt.f64 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 (/.f64 1 im)) (*.f64 re (sqrt.f64 2))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 2))) (fma.f64 (sqrt.f64 im) (sqrt.f64 2) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (*.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)) (*.f64 1/2 (*.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 (*.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 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) 1/2) (*.f64 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 1/4))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (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)))) (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 im 5) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2))))) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (/.f64 (sqrt.f64 1/2) (*.f64 (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))))) (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (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 (sqrt.f64 2) (sqrt.f64 re)) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)))) (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (*.f64 1/16 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2)))))) (pow.f64 im 7)) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 im 5) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2))))) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.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/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 (pow.f64 im 7) (sqrt.f64 2))) (sqrt.f64 1/2))) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (sqrt.f64 1/2) (*.f64 (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 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (fma.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/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 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (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 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))))

localize11.0ms (0.1%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

localize28.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 50 to 29 computations (42% saved)

series14.0ms (0.2%)

Counts
3 → 60
Calls

18 calls:

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

rewrite227.0ms (2.4%)

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

simplify96.0ms (1%)

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

localize20.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sqrt.f64 (*.f64 (/.f64 1/2 re) (*.f64 im im))) (sqrt.f64 2))
8.6b
(*.f64 (/.f64 1/2 re) (*.f64 im im))
16.6b
(sqrt.f64 (*.f64 (/.f64 1/2 re) (*.f64 im im)))
Compiler

Compiled 53 to 32 computations (39.6% saved)

series35.0ms (0.4%)

Counts
2 → 24
Calls

12 calls:

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

rewrite77.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
521×log-prod_binary64
464×prod-exp_binary64
385×exp-prod_binary64
359×pow-prod-down_binary64
268×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify60.0ms (0.6%)

Algorithm
egg-herbie
Rules
1057×fma-def_binary64
89×associate-*l*_binary64
72×associate-*r*_binary64
65×distribute-rgt-in_binary64
52×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017412
136412
2100412
3301412
4419412
5561412
6739412
7850412
81036412
91806412
101866412
Stop Event
saturated
Counts
107 → 91
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
Outputs
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.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 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 1/2) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 1/2))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 1/2) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 1/2))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 1/2) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 1/2))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 1/2) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 1/2)) (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 im))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 1/2)) (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 im))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 1/2)) (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 im))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 1/2)) (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (neg.f64 im))))

localize67.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
13.8b
(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))))))
18.6b
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
21.4b
(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)))
22.2b
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
Compiler

Compiled 181 to 124 computations (31.5% saved)

series21.0ms (0.2%)

Counts
4 → 60
Calls

24 calls:

TimeVariablePointExpression
4.0ms
im
@0
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
2.0ms
re
@0
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
1.0ms
im
@inf
(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))))))
1.0ms
re
@0
(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))))))
1.0ms
re
@-inf
(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))))))

rewrite93.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
418×prod-diff_binary64
402×expm1-udef_binary64
402×log1p-udef_binary64
242×add-sqr-sqrt_binary64
234×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02490
152790
2618490
Stop Event
node limit
Counts
4 → 127
Calls
Call 1
Inputs
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(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 (pow.f64 im 4) (pow.f64 re 3))
(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))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (/.f64 1 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 (pow.f64 im 6) (pow.f64 re -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 6) (*.f64 1/16 (pow.f64 re -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re -5))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 im 12) 1/256)) (*.f64 (*.f64 (*.f64 im im) (cbrt.f64 1/16)) (pow.f64 re -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))) (cbrt.f64 (/.f64 (*.f64 (pow.f64 im 12) 1/256) (pow.f64 re 10))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (pow.f64 im 12) 1/256) (pow.f64 re 10))) (cbrt.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 3) 1/4) (*.f64 (*.f64 (pow.f64 im 3) 1/4) (pow.f64 re -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/4) (pow.f64 re 5/2)) (/.f64 (*.f64 (pow.f64 im 3) 1/4) (pow.f64 re 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 6) -1/16) (/.f64 1 (neg.f64 (pow.f64 re 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re -5) (*.f64 1/16 (pow.f64 im 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 6) 1) (/.f64 1/16 (pow.f64 re 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 im 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 im 12) 1/256)) 1) (/.f64 (*.f64 (*.f64 im im) (cbrt.f64 1/16)) (pow.f64 re 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/4) 1) (/.f64 (*.f64 (pow.f64 im 3) 1/4) (pow.f64 re 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/16 (cbrt.f64 (pow.f64 re 10))) (/.f64 (pow.f64 im 6) (cbrt.f64 (pow.f64 re 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 6) (cbrt.f64 (pow.f64 re 10))) (/.f64 1/16 (cbrt.f64 (pow.f64 re 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 re 10))) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (cbrt.f64 (pow.f64 re 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 im 12) 1/256)) (cbrt.f64 (pow.f64 re 10))) (cbrt.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/4) (cbrt.f64 (pow.f64 re 10))) (/.f64 (*.f64 (pow.f64 im 3) 1/4) (cbrt.f64 (pow.f64 re 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/16 (pow.f64 re 5/2)) (/.f64 (pow.f64 im 6) (pow.f64 re 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5/2)) (/.f64 1/16 (pow.f64 re 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 re 5/2)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 im 12) 1/256)) (pow.f64 re 5/2)) (/.f64 (*.f64 (*.f64 im im) (cbrt.f64 1/16)) (pow.f64 re 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/4) (pow.f64 re 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 1/16 (pow.f64 im 6)) (neg.f64 (pow.f64 re 5))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 (pow.f64 im 12) 1/256) (pow.f64 re 10)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) 1/16) (pow.f64 re -5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 1/16 (pow.f64 im 6)) 3) (pow.f64 (pow.f64 re 5) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))) (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)) 1) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (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)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (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))))) (pow.f64 (cbrt.f64 (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))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (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))))) 2) (cbrt.f64 (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))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (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))))) (sqrt.f64 (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))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)) 3) (pow.f64 (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))) 3)) (+.f64 (*.f64 (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)) (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3))) (-.f64 (/.f64 (*.f64 (pow.f64 im 12) 1/256) (pow.f64 re 10)) (*.f64 (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)) (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3))) (/.f64 (*.f64 (pow.f64 im 12) 1/256) (pow.f64 re 10))) (-.f64 (*.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re -3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (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)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (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)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (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))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (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))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (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)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (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))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (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)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (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)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (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))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (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))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (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))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (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))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (pow.f64 re -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 im im) re) (pow.f64 (/.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (pow.f64 im 4) (pow.f64 re -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im im) (*.f64 (*.f64 im im) (pow.f64 re -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 im re) 2) (/.f64 (*.f64 im im) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) re) (pow.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) re) 2) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 re -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 im im) (pow.f64 re 3/2)) (/.f64 (*.f64 im im) (pow.f64 re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 4)) (/.f64 1 (neg.f64 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re -3) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 (pow.f64 im 4) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 8)) re) (/.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 8)) 1) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 im im) 1) (/.f64 (*.f64 im im) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re re)) (/.f64 (pow.f64 im 4) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 re re)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 re 3/2)) (/.f64 (pow.f64 im 4) (pow.f64 re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 im 8)) (pow.f64 re 3/2)) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) re) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 im im) (pow.f64 re 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 re 3) (pow.f64 im 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 im 8) (pow.f64 re 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (pow.f64 re -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 im 12) (pow.f64 (pow.f64 re 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))) (cbrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))) (cbrt.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))) 1/4) (pow.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (pow.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))) 2)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 4 (pow.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))) 2))) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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))))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (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)))))))) 1))))))

simplify70.0ms (0.8%)

Algorithm
egg-herbie
Rules
509×associate-*r*_binary64
472×associate-*l*_binary64
451×fma-def_binary64
426×distribute-lft-in_binary64
426×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01031708
13001697
210521597
353471548
Stop Event
node limit
Counts
187 → 156
Calls
Call 1
Inputs
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(*.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/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/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/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(+.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/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/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(+.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/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/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(+.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/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/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.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 -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 -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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.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 -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 -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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 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/32 (*.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 7))) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.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 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5)))) (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) (pow.f64 im 3)) (sqrt.f64 (pow.f64 re 9)))))))
(*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 -2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5)))) (*.f64 -2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) (pow.f64 im 3)) (sqrt.f64 (pow.f64 re 9)))))))
Outputs
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3))
(+.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/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/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/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/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/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/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/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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(+.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/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/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/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/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/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/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/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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(+.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/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/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/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/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/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/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/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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))
(*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))
(/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))
(+.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/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/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/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/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/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/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/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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))
(*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3))
(+.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/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/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/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/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/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/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/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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))
(*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3))
(+.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/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/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/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/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/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/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/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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 2) (pow.f64 im 3))) (sqrt.f64 1/2))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (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 (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 -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 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (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 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (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 (sqrt.f64 2) 1/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))))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (*.f64 (/.f64 1 (pow.f64 re 5)) (+.f64 1/16 (*.f64 (/.f64 -1/16 (sqrt.f64 1/2)) (/.f64 1/16 (sqrt.f64 1/2))))) (pow.f64 im 5)) (*.f64 1/2 (sqrt.f64 re))))))
(+.f64 (*.f64 1/32 (*.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 7))) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.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/32 (*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.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 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (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 -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 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 1/32 (/.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)) (*.f64 (pow.f64 im 7) (sqrt.f64 2))) (/.f64 (*.f64 1/2 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (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 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/16 (/.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 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 im 7))))) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (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 (sqrt.f64 2) 1/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)))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/16 (/.f64 (*.f64 (/.f64 1 (pow.f64 re 5)) (+.f64 1/16 (*.f64 (/.f64 -1/16 (sqrt.f64 1/2)) (/.f64 1/16 (sqrt.f64 1/2))))) (/.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 im 7))))) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (*.f64 (/.f64 1 (pow.f64 re 5)) (+.f64 1/16 (*.f64 (/.f64 -1/16 (sqrt.f64 1/2)) (/.f64 1/16 (sqrt.f64 1/2))))) (pow.f64 im 5)) (*.f64 1/2 (sqrt.f64 re)))))))
(*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) 1/4))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2)))))
(fma.f64 -1/4 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) 1/4)))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/4)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4))))
(+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5)))) (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 im (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2)))) (sqrt.f64 (pow.f64 re 5))) (*.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))))
(fma.f64 1/4 (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) im) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2))) (fabs.f64 (pow.f64 re 5/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 -1/4 (sqrt.f64 2)) im))))
(fma.f64 2 (*.f64 (*.f64 (+.f64 (/.f64 1/2 re) (*.f64 (/.f64 1 re) -1/16)) (/.f64 (sqrt.f64 2) im)) (pow.f64 re 5/2)) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/4)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4)))))
(fma.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 1 re) 7/16) (/.f64 (sqrt.f64 2) im)) (pow.f64 re 5/2)) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/4)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4)))))
(+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) (pow.f64 im 3)) (sqrt.f64 (pow.f64 re 9)))))))
(fma.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 im (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2)))) (sqrt.f64 (pow.f64 re 5))) (fma.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))) (*.f64 2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 3) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2)))) (sqrt.f64 (pow.f64 re 9)))))))
(fma.f64 1/4 (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) im) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2))) (fabs.f64 (pow.f64 re 5/2))) (fma.f64 2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 3)) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2))) (sqrt.f64 (pow.f64 re 9))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 -1/4 (sqrt.f64 2)) im)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/4)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4)))) (*.f64 2 (*.f64 (*.f64 (+.f64 (/.f64 1/2 re) (*.f64 (/.f64 1 re) -1/16)) (/.f64 (sqrt.f64 2) im)) (+.f64 (pow.f64 re 5/2) (/.f64 (pow.f64 re 9/2) (*.f64 im im))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/4)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4)))) (*.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 1 re) 7/16) (/.f64 (sqrt.f64 2) im))) (+.f64 (pow.f64 re 5/2) (/.f64 (pow.f64 re 9/2) (*.f64 im im)))))
(*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(*.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))
(*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) -1/4))
(*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) -1/4)))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2)))))
(fma.f64 1/4 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) -1/4)))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/4))))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 -2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5))))))
(fma.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 im (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2)))) (sqrt.f64 (pow.f64 re 5))) -2)))
(fma.f64 (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) -1/4 (fma.f64 1/4 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) im) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2))) (*.f64 (fabs.f64 (pow.f64 re 5/2)) -2))))
(fma.f64 (*.f64 (+.f64 (/.f64 1/2 re) (*.f64 (/.f64 1 re) -1/16)) (/.f64 (sqrt.f64 2) im)) (*.f64 (pow.f64 re 5/2) -2) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/4)))))
(fma.f64 (*.f64 (*.f64 (/.f64 1 re) 7/16) (/.f64 (sqrt.f64 2) im)) (*.f64 (pow.f64 re 5/2) -2) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/4)))))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) im) (sqrt.f64 (pow.f64 re 5)))) (*.f64 -2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 re)) (pow.f64 (*.f64 -1/4 (sqrt.f64 (/.f64 1 re))) 2))) (pow.f64 im 3)) (sqrt.f64 (pow.f64 re 9)))))))
(fma.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))) (*.f64 -2 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 im (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2)))) (sqrt.f64 (pow.f64 re 5))) (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 3) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2)))) (sqrt.f64 (pow.f64 re 9)))))))
(fma.f64 (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) -1/4 (fma.f64 -2 (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) im) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2))) (fabs.f64 (pow.f64 re 5/2)) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 3)) (-.f64 (/.f64 1/2 re) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) -1/4) 2))) (sqrt.f64 (pow.f64 re 9)))) (*.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 re))) (*.f64 im (sqrt.f64 2)))))
(fma.f64 -2 (*.f64 (*.f64 (+.f64 (/.f64 1/2 re) (*.f64 (/.f64 1 re) -1/16)) (/.f64 (sqrt.f64 2) im)) (+.f64 (pow.f64 re 5/2) (/.f64 (pow.f64 re 9/2) (*.f64 im im)))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/4)))))
(fma.f64 -2 (*.f64 (*.f64 (*.f64 (/.f64 1 re) 7/16) (/.f64 (sqrt.f64 2) im)) (+.f64 (pow.f64 re 5/2) (/.f64 (pow.f64 re 9/2) (*.f64 im im)))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/4)))))

eval437.0ms (4.7%)

Compiler

Compiled 14595 to 11011 computations (24.6% saved)

prune129.0ms (1.4%)

Pruning

16 alts after pruning (10 fresh and 6 done)

PrunedKeptTotal
New5149523
Fresh213
Picked101
Done369
Total52016536
Error
0b
Counts
536 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
54.8b
(*.f64 1/2 (pow.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/2))
29.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
55.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (*.f64 im im))))))
47.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
29.7b
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 im 1/4) 2) (sqrt.f64 2)))
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
38.9b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
47.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (sqrt.f64 2)))
47.7b
(*.f64 1/2 (pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) 2))
52.8b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
28.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
47.7b
(*.f64 1/2 (*.f64 (pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1/2 re) 1/4)) 2) (sqrt.f64 2)))
47.8b
(*.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 3) (sqrt.f64 2)))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
Compiler

Compiled 322 to 267 computations (17.1% saved)

localize160.0ms (1.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (pow.f64 (pow.f64 im 1/4) 2) (sqrt.f64 2))
0.5b
(pow.f64 (pow.f64 im 1/4) 2)
Compiler

Compiled 34 to 29 computations (14.7% saved)

series105.0ms (1.1%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
53.0ms
im
@0
(pow.f64 (pow.f64 im 1/4) 2)
26.0ms
im
@-inf
(pow.f64 (pow.f64 im 1/4) 2)
24.0ms
im
@inf
(pow.f64 (pow.f64 im 1/4) 2)
1.0ms
im
@-inf
(*.f64 (pow.f64 (pow.f64 im 1/4) 2) (sqrt.f64 2))
1.0ms
im
@0
(*.f64 (pow.f64 (pow.f64 im 1/4) 2) (sqrt.f64 2))

rewrite59.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
625×pow1_binary64
581×add-log-exp_binary64
581×log1p-expm1-u_binary64
581×expm1-log1p-u_binary64
566×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify45.0ms (0.5%)

Algorithm
egg-herbie
Rules
655×fma-def_binary64
481×associate-/l*_binary64
325×distribute-rgt-in_binary64
316×associate-*l*_binary64
297×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01436
13436
27836
321436
483736
5356136
Stop Event
node limit
Counts
44 → 33
Calls
Call 1
Inputs
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
Outputs
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(sqrt.f64 im)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
(sqrt.f64 im)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
(sqrt.f64 im)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
(sqrt.f64 im)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1)))) 2)
(sqrt.f64 im)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series4.0ms (0%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
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
re
@inf
(sqrt.f64 (*.f64 im (/.f64 im re)))
0.0ms
im
@inf
(sqrt.f64 (*.f64 im (/.f64 im re)))

rewrite93.0ms (1%)

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

simplify77.0ms (0.8%)

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

localize18.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
8.6b
(*.f64 (*.f64 im im) (/.f64 1 re))
22.8b
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/2)
Compiler

Compiled 39 to 22 computations (43.6% saved)

series5.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite53.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
787×pow1_binary64
731×add-log-exp_binary64
730×log1p-expm1-u_binary64
730×expm1-log1p-u_binary64
710×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify77.0ms (0.8%)

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
82 → 51
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))

localize46.0ms (0.5%)

Local error

Found 2 expressions with local error:

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

Compiled 40 to 24 computations (40% saved)

series12.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(pow.f64 (*.f64 (-.f64 im re) 2) 3/2)
1.0ms
im
@0
(pow.f64 (*.f64 (-.f64 im re) 2) 3/2)
1.0ms
re
@-inf
(pow.f64 (*.f64 (-.f64 im re) 2) 3/2)
1.0ms
im
@-inf
(pow.f64 (*.f64 (-.f64 im re) 2) 3/2)
1.0ms
im
@0
(cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))

rewrite80.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
947×pow1_binary64
890×add-log-exp_binary64
889×log1p-expm1-u_binary64
889×expm1-log1p-u_binary64
100×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify78.0ms (0.8%)

Algorithm
egg-herbie
Rules
481×*-commutative_binary64
437×associate-/l*_binary64
429×times-frac_binary64
272×associate-/r*_binary64
237×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02091657
16121500
221191263
363541162
Stop Event
node limit
Counts
77 → 107
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 re) (sqrt.f64 -2))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(*.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 (pow.f64 re 2) (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 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2))))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 -8) (pow.f64 im 3)))) (+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2)))))))
(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 (+.f64 (*.f64 -3/4 (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)) (+.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 (+.f64 (*.f64 -3/4 (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)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 re 3)) (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (*.f64 -9/16 (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 -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)))))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3))))) (pow.f64 im 3))))))
(*.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 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(+.f64 (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))))
Outputs
(*.f64 (sqrt.f64 re) (sqrt.f64 -2))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 re) (sqrt.f64 -2)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (*.f64 (sqrt.f64 (pow.f64 re -1)) (/.f64 im (sqrt.f64 -2))))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 (sqrt.f64 -2) -2)))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 im (/.f64 (sqrt.f64 -2) im))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 (sqrt.f64 (pow.f64 re -1)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 im (/.f64 (sqrt.f64 -2) im))))))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 (sqrt.f64 -2) -2))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 im (/.f64 (sqrt.f64 -2) im)))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (pow.f64 re -1)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 im (/.f64 (sqrt.f64 -2) im)))))))
(*.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 (pow.f64 re 2) (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 (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 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))))))
(-.f64 (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (/.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.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 re re) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.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 (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (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 re (sqrt.f64 2)) (/.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (*.f64 -1/4 (/.f64 (*.f64 re re) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (fma.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8))
(*.f64 (sqrt.f64 -8) (pow.f64 re 3/2))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)))
(fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)))
(fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8) (*.f64 -3/2 (*.f64 im (*.f64 (sqrt.f64 re) (sqrt.f64 -8)))))
(*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 im (*.f64 (sqrt.f64 re) -3/2))))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2))))))
(fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) (sqrt.f64 -8))))))
(fma.f64 -3/2 (*.f64 im (*.f64 (sqrt.f64 re) (sqrt.f64 -8))) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -8)) (*.f64 im (*.f64 im 3/8)))))
(fma.f64 -3/2 (*.f64 im (*.f64 (sqrt.f64 re) (sqrt.f64 -8))) (*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 1 re)) 3/8)))))
(fma.f64 -3/2 (*.f64 im (*.f64 (sqrt.f64 re) (sqrt.f64 -8))) (*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 (pow.f64 re -1)) 3/8)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 -8) (pow.f64 im 3)))) (+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2)))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 3) (sqrt.f64 -8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) (sqrt.f64 -8)))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 3) (sqrt.f64 -8))) (fma.f64 -3/2 (*.f64 im (*.f64 (sqrt.f64 re) (sqrt.f64 -8))) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -8)) (*.f64 im (*.f64 im 3/8))))))
(+.f64 (*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 1 re)) 3/8)))) (*.f64 (sqrt.f64 -8) (+.f64 (*.f64 im (*.f64 (sqrt.f64 re) -3/2)) (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/16)))))
(+.f64 (*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 (pow.f64 re -1)) 3/8)))) (*.f64 (sqrt.f64 -8) (+.f64 (*.f64 im (*.f64 (sqrt.f64 re) -3/2)) (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/16)))))
(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 2) (log.f64 im)))
(*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))
(pow.f64 (*.f64 im 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 (*.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) 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 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 -3/2 (*.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) (/.f64 re im)) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))
(fma.f64 -3/2 (*.f64 (pow.f64 (*.f64 im 2) 3/2) (/.f64 re im)) (pow.f64 (*.f64 im 2) 3/2))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (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)) (+.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 (*.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (*.f64 re (*.f64 re 3/8)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))))
(+.f64 (/.f64 (*.f64 re -3/2) (/.f64 (/.f64 im (pow.f64 2 3/2)) (pow.f64 im 3/2))) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(+.f64 (*.f64 -3/2 (*.f64 (pow.f64 (*.f64 im 2) 3/2) (/.f64 re im))) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (pow.f64 (*.f64 im 2) 3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (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)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 re 3)) (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (*.f64 -9/16 (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 -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 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (fma.f64 -3/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (fma.f64 9/8 (pow.f64 re 3) (*.f64 (pow.f64 re 3) -17/16)) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (+.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re 3/8)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 1/16) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))))
(+.f64 (fma.f64 -3/2 (*.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) (/.f64 re im)) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) (/.f64 (*.f64 (pow.f64 re 3) 1/16) (pow.f64 im 3)))))
(+.f64 (fma.f64 -3/2 (*.f64 (pow.f64 (*.f64 im 2) 3/2) (/.f64 re im)) (pow.f64 (*.f64 im 2) 3/2)) (*.f64 (pow.f64 (*.f64 im 2) 3/2) (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) (/.f64 (*.f64 (pow.f64 re 3) 1/16) (pow.f64 im 3)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))
(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))
(pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2)
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 im re))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))
(fma.f64 -3/2 (*.f64 re (/.f64 (pow.f64 (/.f64 -1 im) -3/2) (/.f64 im (pow.f64 -2 3/2)))) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2)) (pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 im re))) (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) (fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))) (*.f64 (/.f64 (*.f64 re (*.f64 re 3/8)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))))
(+.f64 (*.f64 -3/2 (*.f64 re (/.f64 (pow.f64 (/.f64 -1 im) -3/2) (/.f64 im (pow.f64 -2 3/2))))) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2))) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3))))) (pow.f64 im 3))))))
(+.f64 (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))))) (+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 im re)) (neg.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 (pow.f64 im 3) (fma.f64 -9/8 (pow.f64 re 3) (*.f64 (pow.f64 re 3) 17/16))))))))
(+.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re 3/8)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (-.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) (pow.f64 im 3)) (*.f64 (pow.f64 re 3) -1/16))))
(+.f64 (*.f64 -3/2 (*.f64 re (/.f64 (pow.f64 (/.f64 -1 im) -3/2) (/.f64 im (pow.f64 -2 3/2))))) (-.f64 (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (*.f64 (pow.f64 re 3) -1/16) (/.f64 (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (pow.f64 im 3)))))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2))) (fma.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2) (*.f64 (/.f64 (pow.f64 (/.f64 -2 (/.f64 -1 im)) 3/2) (pow.f64 im 3)) (neg.f64 (*.f64 (pow.f64 re 3) -1/16)))))
(*.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 re (*.f64 (sqrt.f64 8) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 8) (sqrt.f64 im))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2))))
(+.f64 (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 1/16 (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 8) (sqrt.f64 im))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re)))
(*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))
(pow.f64 (*.f64 re -2) 3/2)
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im))))
(fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) re) im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))))
(fma.f64 -3/2 (*.f64 im (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)) re)) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)))
(fma.f64 -3/2 (*.f64 im (/.f64 (pow.f64 (*.f64 re -2) 3/2) re)) (pow.f64 (*.f64 re -2) 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im))) (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 (*.f64 im im) 3/8)) (*.f64 re re))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) re) im) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) re) (/.f64 (*.f64 im (*.f64 im 3/8)) re))))
(+.f64 (fma.f64 -3/2 (*.f64 im (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)) re)) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))) (*.f64 (*.f64 im (*.f64 im 3/8)) (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)) (*.f64 re re))))
(+.f64 (fma.f64 -3/2 (*.f64 im (/.f64 (pow.f64 (*.f64 re -2) 3/2) re)) (pow.f64 (*.f64 re -2) 3/2)) (*.f64 (*.f64 im (*.f64 im 3/8)) (/.f64 (pow.f64 (*.f64 re -2) 3/2) (*.f64 re re))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (+.f64 (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im))) (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 (*.f64 im im) 3/8)) (*.f64 re re))) (/.f64 (fma.f64 9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) -17/16)) (/.f64 (pow.f64 re 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re)))))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) re) im) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) re) (/.f64 (*.f64 im (*.f64 im 3/8)) re))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/16) (pow.f64 re 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))))))
(+.f64 (fma.f64 -3/2 (*.f64 im (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)) re)) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)) (*.f64 re re)) (+.f64 (*.f64 im (*.f64 im 3/8)) (/.f64 (pow.f64 im 3) (/.f64 re 1/16)))))
(+.f64 (fma.f64 -3/2 (*.f64 im (/.f64 (pow.f64 (*.f64 re -2) 3/2) re)) (pow.f64 (*.f64 re -2) 3/2)) (*.f64 (/.f64 (pow.f64 (*.f64 re -2) 3/2) (*.f64 re re)) (+.f64 (*.f64 im (*.f64 im 3/8)) (/.f64 (pow.f64 im 3) (/.f64 re 1/16)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))
(pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2)
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im))))
(fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))
(fma.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2)))
(fma.f64 -3/2 (*.f64 (/.f64 im re) (pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2)) (pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im)))) (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))))
(+.f64 (fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re)))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2)))) (*.f64 (+.f64 (*.f64 (/.f64 im re) (/.f64 (*.f64 im 3/8) re)) 1) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 im re) (pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2))) (*.f64 (+.f64 (*.f64 (/.f64 im re) (/.f64 (*.f64 im 3/8) re)) 1) (pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))))
(+.f64 (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (fma.f64 -1 (/.f64 (fma.f64 -9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 17/16)) (/.f64 (pow.f64 re 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im))))))
(+.f64 (fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (-.f64 (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re)) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) -1/16)))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))) (*.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2)) (-.f64 (*.f64 (/.f64 im re) (/.f64 (*.f64 im 3/8) re)) (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 3) -1/16)))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 im re) (pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2)) (pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2)) (*.f64 (pow.f64 (/.f64 2 (/.f64 -1 re)) 3/2) (fma.f64 (/.f64 im re) (/.f64 (*.f64 im 3/8) re) (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 3) 1/16)))))

localize54.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

Compiled 47 to 35 computations (25.5% saved)

series100.0ms (1.1%)

Counts
4 → 24
Calls

21 calls:

TimeVariablePointExpression
51.0ms
re
@inf
(sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
14.0ms
re
@0
(sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
8.0ms
im
@0
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) 2)
7.0ms
re
@0
(sqrt.f64 (/.f64 1 re))
2.0ms
im
@-inf
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) 2)

rewrite90.0ms (1%)

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

Useful iterations: 1 (0.0ms)

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

simplify151.0ms (1.6%)

Algorithm
egg-herbie
Rules
676×cube-prod_binary64
659×sqr-pow_binary64
646×fabs-mul_binary64
488×unswap-sqr_binary64
383×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022304
141284
273280
3141280
4363280
51202280
61654280
72520280
82715280
93128280
103533280
114069280
124777280
135680280
146342280
157130280
167554280
177870280
Stop Event
node limit
Counts
118 → 92
Calls
Call 1
Inputs
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) 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 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
Outputs
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 1 re) 1/4) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 1 re) 1/4))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (sqrt.f64 (*.f64 im (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (pow.f64 (sqrt.f64 -1) 2)))
(*.f64 im (*.f64 -1 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (pow.f64 (sqrt.f64 -1) 2)))
(*.f64 im (*.f64 -1 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (pow.f64 (sqrt.f64 -1) 2)))
(*.f64 im (*.f64 -1 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (pow.f64 (sqrt.f64 -1) 2)))
(*.f64 im (*.f64 -1 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))

eval180.0ms (1.9%)

Compiler

Compiled 5309 to 3742 computations (29.5% saved)

prune74.0ms (0.8%)

Pruning

15 alts after pruning (6 fresh and 9 done)

PrunedKeptTotal
New3293332
Fresh235
Picked101
Done1910
Total33315348
Error
0b
Counts
348 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
47.6b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
28.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
29.7b
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 im 1/4) 2) (sqrt.f64 2)))
29.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
38.9b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
47.6b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
47.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (sqrt.f64 2)))
54.8b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
52.8b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
29.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
47.8b
(*.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 3) (sqrt.f64 2)))
47.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
Compiler

Compiled 162 to 132 computations (18.5% saved)

regimes350.0ms (3.7%)

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

61.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
57.0ms
re
52.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
51.0ms
im
39.0ms
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
ErrorSegmentsBranch
6.4b2re
12.7b1im
6.6b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
6.6b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
6.6b3(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
6.6b3(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
12.7b1(*.f64 im im)
12.7b1(*.f64 im im)
Compiler

Compiled 481 to 358 computations (25.6% saved)

bsearch125.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
124.0ms
2.533139072035702e+105
1.611604419094285e+108
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes139.0ms (1.5%)

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

4 calls:

46.0ms
im
46.0ms
(*.f64 im im)
22.0ms
re
20.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
12.4b3re
22.2b6im
24.0b4(*.f64 im im)
24.0b4(*.f64 im im)
Compiler

Compiled 137 to 97 computations (29.2% saved)

bsearch119.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
91.0ms
2.533139072035702e+105
1.611604419094285e+108
28.0ms
-1.7023302181833977e+68
-3.942943523770308e+62
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes123.0ms (1.3%)

Counts
8 → 3
Calls
Call 1
Inputs
(*.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 (sqrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Calls

4 calls:

51.0ms
(*.f64 im im)
38.0ms
im
16.0ms
(*.f64 im im)
15.0ms
re
Results
ErrorSegmentsBranch
12.7b3re
23.4b6im
25.0b4(*.f64 im im)
25.0b4(*.f64 im im)
Compiler

Compiled 77 to 55 computations (28.6% saved)

bsearch109.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
83.0ms
2.533139072035702e+105
1.611604419094285e+108
26.0ms
-9.830077056107277e-123
-9.708734695439106e-142
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes71.0ms (0.8%)

Accuracy

Total -41.5b remaining (-197.2%)

Threshold costs -41.5b (-197.2%)

Counts
7 → 2
Calls
Call 1
Inputs
(*.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 (sqrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Calls

3 calls:

35.0ms
im
17.0ms
re
16.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
21.1b2re
24.7b4im
25.0b4(*.f64 im im)
Compiler

Compiled 64 to 45 computations (29.7% saved)

bsearch72.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
72.0ms
2.533139072035702e+105
1.611604419094285e+108
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
037150
150150
256150
358150
459150
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -170233021818339770192117705250895638683636106322623394103861887107072) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -7316357803201053/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Outputs
(if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -170233021818339770192117705250895638683636106322623394103861887107072) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -7316357803201053/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re 2533139072035702163102039863252839200792274759020766272547738721629756459793816220016587882558231727308800) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Compiler

Compiled 110 to 85 computations (22.7% saved)

soundness198.0ms (2.1%)

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: 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
01561087
14691055
215381008
Stop Event
node limit
saturated
saturated
Compiler

Compiled 103 to 76 computations (26.2% saved)

end277.0ms (3%)

Compiler

Compiled 102 to 69 computations (32.4% saved)

Profiling

Loading profile data...