Details

Time bar (total: 7.4s)

analyze161.0ms (2.2%)

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

Compiled 20 to 14 computations (30% saved)

sample1.7s (23.5%)

Results
855.0ms6378×body256valid
381.0ms576×body4096valid
283.0ms669×body2048valid
150.0ms398×body1024valid
56.0ms235×body512valid
Bogosity

preprocess41.0ms (0.6%)

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)

simplify32.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 9 computations (25% saved)

localize39.0ms (0.5%)

Local error

Found 2 expressions with local error:

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

Compiled 39 to 16 computations (59% saved)

series11.0ms (0.2%)

Counts
2 → 32
Calls

12 calls:

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

rewrite51.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
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4))))) (#(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 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))))
((#(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))))))

simplify54.0ms (0.7%)

Algorithm
egg-herbie
Rules
604×associate-/r*_binary64
583×associate-/l*_binary64
236×fma-def_binary64
235×distribute-rgt-in_binary64
214×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02812004
17831884
227321800
Stop Event
node limit
Counts
89 → 148
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))))))
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 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (hypot.f64 re im) (neg.f64 re))
(+.f64 (hypot.f64 re im) (*.f64 (neg.f64 re) 1))
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 re) 1 re))
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2) re))
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re))
(+.f64 (neg.f64 re) (hypot.f64 re im))
(*.f64 (-.f64 (hypot.f64 re im) re) 1)
(*.f64 1 (-.f64 (hypot.f64 re im) re))
(*.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.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))))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))
(*.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))
(/.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))))
(/.f64 1 (/.f64 (+.f64 re (hypot.f64 re im)) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))))
(/.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)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))
(/.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))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (+.f64 re (hypot.f64 re im))))
(/.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)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 (neg.f64 re) (neg.f64 re))) (-.f64 (hypot.f64 re im) (neg.f64 re)))
(pow.f64 (-.f64 (hypot.f64 re im) re) 1)
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 1/3)
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
(sqrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2))
(log.f64 (exp.f64 (-.f64 (hypot.f64 re im) re)))
(cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3))
(expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re)))
(log1p.f64 (expm1.f64 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re)))
(fma.f64 1 (hypot.f64 re im) (neg.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (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 (*.f64 (sqrt.f64 2) 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 (/.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 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im))))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 -1/2 (sqrt.f64 2)) re) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))))))))
(+.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 (*.f64 (sqrt.f64 2) 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 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 (*.f64 (*.f64 1/4 (sqrt.f64 2)) (*.f64 (-.f64 (/.f64 1/2 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 1/2 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))))) 1/2))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 1/4) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2))))
(*.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 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.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 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 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/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 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2))))) (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 (/.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 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 re) 1/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))))))
(+.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 -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 (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 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2)) (*.f64 re re)))) (*.f64 (pow.f64 im 7) (sqrt.f64 2))) (sqrt.f64 1/2))) (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2))))))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.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 (*.f64 (*.f64 (sqrt.f64 re) 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))) (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7))) (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))))))) (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 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3))))))
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 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 (/.f64 im re) im) (*.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4)))
(+.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 (/.f64 im re) im) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4))))
(+.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 (*.f64 im im) re) (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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(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/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)) (*.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4)))))
(*.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 -1/2 (*.f64 (/.f64 im re) im) (*.f64 re -2))
(+.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 -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 -1/2 (*.f64 (/.f64 im re) im) (*.f64 re -2)))
(+.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 -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 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (*.f64 (/.f64 im re) im) (*.f64 re -2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(/.f64 1/2 (/.f64 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 (/.f64 im re) im) (*.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4)))
(+.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 (/.f64 im re) im) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4))))
(+.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 (*.f64 im im) re) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) 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 (/.f64 im re) im) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re) (pow.f64 im 8)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4)))))
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 im) re)
(-.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 -1/2 (/.f64 re (/.f64 im re))) im) re)
(-.f64 (*.f64 -1/2 (*.f64 (/.f64 re im) 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 (-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (*.f64 -1/2 (/.f64 re (/.f64 im re)))) im) re)
(-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (*.f64 -1/2 (*.f64 (/.f64 re im) re))) (+.f64 im re))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) 2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (hypot.f64 re im) (neg.f64 re))
(-.f64 (hypot.f64 re im) re)
(+.f64 (hypot.f64 re im) (*.f64 (neg.f64 re) 1))
(-.f64 (hypot.f64 re im) re)
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 re) 1 re))
(-.f64 (hypot.f64 re im) re)
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2) re))
(-.f64 (hypot.f64 re im) re)
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re))
(-.f64 (hypot.f64 re im) re)
(+.f64 (neg.f64 re) (hypot.f64 re im))
(-.f64 (hypot.f64 re im) re)
(*.f64 (-.f64 (hypot.f64 re im) re) 1)
(-.f64 (hypot.f64 re im) re)
(*.f64 1 (-.f64 (hypot.f64 re im) re))
(-.f64 (hypot.f64 re im) re)
(*.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2))
(-.f64 (hypot.f64 re im) re)
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
(*.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))))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))
(*.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))
(-.f64 (hypot.f64 re im) re)
(/.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))))
(*.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))))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)))
(/.f64 1 (/.f64 (+.f64 re (hypot.f64 re im)) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))
(/.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)))))
(*.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))))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))
(/.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))))))
(*.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))))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))
(/.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)))))
(*.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))))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 (neg.f64 re) (neg.f64 re))) (-.f64 (hypot.f64 re im) (neg.f64 re)))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))
(pow.f64 (-.f64 (hypot.f64 re im) re) 1)
(-.f64 (hypot.f64 re im) re)
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 1/3)
(-.f64 (hypot.f64 re im) re)
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
(-.f64 (hypot.f64 re im) re)
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
(-.f64 (hypot.f64 re im) re)
(sqrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2))
(-.f64 (hypot.f64 re im) re)
(log.f64 (exp.f64 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
(cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3))
(-.f64 (hypot.f64 re im) re)
(expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
(log1p.f64 (expm1.f64 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
(exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
(fma.f64 1 (hypot.f64 re im) (neg.f64 re))
(-.f64 (hypot.f64 re im) re)
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))
(-.f64 (hypot.f64 re im) re)
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))
(-.f64 (hypot.f64 re im) re)

eval91.0ms (1.2%)

Compiler

Compiled 3867 to 2784 computations (28% saved)

prune32.0ms (0.4%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New13711148
Fresh000
Picked011
Done000
Total13712149
Error
0.2b
Counts
149 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
45.9b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
45.9b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
32.4b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
17.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
54.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (*.f64 im im))))))
14.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
31.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re)))))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
54.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
32.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
18.1b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
Compiler

Compiled 310 to 243 computations (21.6% saved)

localize47.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (hypot.f64 re im))
0.2b
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
16.9b
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))
Compiler

Compiled 69 to 18 computations (73.9% saved)

series18.0ms (0.2%)

Counts
3 → 26
Calls

18 calls:

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

rewrite90.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
804×pow1_binary64
740×add-log-exp_binary64
739×log1p-expm1-u_binary64
739×expm1-log1p-u_binary64
722×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify62.0ms (0.8%)

Algorithm
egg-herbie
Rules
550×distribute-rgt-in_binary64
531×distribute-lft-in_binary64
510×times-frac_binary64
243×unswap-sqr_binary64
226×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03102555
18472412
230372062
Stop Event
node limit
Counts
91 → 164
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/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (/.f64 1 (pow.f64 im 3))))) im)))
(*.f64 -1 re)
(*.f64 -1 re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)))
(+.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 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4))))
(+.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 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)) (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) 2) re)) (*.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))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) 2)) (pow.f64 im 8)))))
(*.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/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 3))) (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/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 3))) (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/2 (*.f64 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) 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/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 3))) (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/2 (*.f64 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) 2) re)) (*.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 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) 2) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (*.f64 re (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 1/2 (*.f64 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) 2)))) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))) (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/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 im 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3)))) (pow.f64 im 2)))) (pow.f64 re 6)) (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im)))))))
(sqrt.f64 re)
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 re 2)))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re))))
(+.f64 (hypot.f64 re im) re)
(+.f64 re (hypot.f64 re im))
(-.f64 (hypot.f64 re im) re)
(-.f64 (+.f64 1 (+.f64 (hypot.f64 re im) re)) 1)
(-.f64 (+.f64 (hypot.f64 re im) 0) re)
(*.f64 (+.f64 (hypot.f64 re im) re) 1)
(*.f64 1 (+.f64 (hypot.f64 re im) re))
(*.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (+.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 re re) (*.f64 (hypot.f64 re im) re))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 (hypot.f64 re im) re))
(pow.f64 (+.f64 (hypot.f64 re im) re) 1)
(pow.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 3)
(pow.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) 2)
(sqrt.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 2))
(log.f64 (exp.f64 (+.f64 (hypot.f64 re im) re)))
(cbrt.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 3))
(expm1.f64 (log1p.f64 (+.f64 (hypot.f64 re im) re)))
(log1p.f64 (expm1.f64 (+.f64 (hypot.f64 re im) re)))
(exp.f64 (log.f64 (+.f64 (hypot.f64 re im) re)))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))) 1)
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))) (cbrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(*.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))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.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))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(*.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))
(pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(-.f64 (+.f64 1 (sqrt.f64 (hypot.f64 re im))) 1)
(*.f64 (sqrt.f64 (hypot.f64 re im)) 1)
(*.f64 1 (sqrt.f64 (hypot.f64 re im)))
(*.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 (hypot.f64 re im) 1/4) (pow.f64 (hypot.f64 re im) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 1/2))
(pow.f64 (hypot.f64 re im) 1/2)
(pow.f64 (sqrt.f64 (hypot.f64 re im)) 1)
(pow.f64 (pow.f64 (hypot.f64 re im) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 3)
(pow.f64 (pow.f64 (hypot.f64 re im) 1/4) 2)
(pow.f64 (pow.f64 (hypot.f64 re im) 2) 1/4)
(fabs.f64 (sqrt.f64 (hypot.f64 re im)))
(log.f64 (exp.f64 (sqrt.f64 (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (hypot.f64 re im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (hypot.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (hypot.f64 re im))))
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 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (/.f64 1 (pow.f64 im 3))))) im)))
(fma.f64 -1 re (fma.f64 1/2 (/.f64 (*.f64 re re) im) (fma.f64 (pow.f64 re 4) (fma.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))) (/.f64 1/16 (pow.f64 im 3))) im)))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 (pow.f64 re 4) (-.f64 (/.f64 1/16 (pow.f64 im 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3)))) im)) re)
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 (pow.f64 re 4) (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 im 3))) (neg.f64 (/.f64 1/16 (pow.f64 im 3)))) im)) re)
(*.f64 -1 re)
(neg.f64 re)
(*.f64 -1 re)
(neg.f64 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 (/.f64 (pow.f64 im 2) re)) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (pow.f64 im 4)))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 im 4)))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 im 4)))
(+.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 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (pow.f64 im 4))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 im 4) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 im 4))))
(+.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 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)) (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) 2) re)) (*.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))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) 2)) (pow.f64 im 8)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (pow.f64 im 4) (*.f64 (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) 2) re) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re))) (pow.f64 (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) 2)) (pow.f64 im 8)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 (fma.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) 2) re) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (pow.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))) 2))) (pow.f64 im 8) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 im 4)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 (fma.f64 1/4 (/.f64 (pow.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) 2) re) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (pow.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))) 2))) (pow.f64 im 8) (*.f64 (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 im 4)))))
(*.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 (*.f64 re (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 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (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 (*.f64 re (sqrt.f64 2)) (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 2) (*.f64 (*.f64 re re) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 -1/2 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 (*.f64 re (sqrt.f64 2)) (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 (/.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 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (*.f64 (-.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)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (*.f64 re re) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (sqrt.f64 (/.f64 1 im)))) 1/2) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) 1/4))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 3))) (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/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))))) (sqrt.f64 1/2)) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))
(fma.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) (sqrt.f64 2))) (sqrt.f64 1/2)) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 3)) (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 3))) (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/2 (*.f64 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) 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/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))))) (sqrt.f64 1/2)) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (sqrt.f64 1/2)))) 2)) (pow.f64 im 5))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 re) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) (sqrt.f64 2))) (sqrt.f64 1/2))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 2)) (pow.f64 im 5)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2)))) (*.f64 1/2 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (/.f64 (*.f64 (*.f64 (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (sqrt.f64 re)) 1/2) (sqrt.f64 1/2)) 2)) (pow.f64 im 5)))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 3))) (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/2 (*.f64 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) 2) re)) (*.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 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) 2) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (*.f64 re (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 1/2 (*.f64 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (sqrt.f64 1/2)) (sqrt.f64 re))) 2)))) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))) (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/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))))) (sqrt.f64 1/2)) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (sqrt.f64 1/2)))) 2)) (pow.f64 im 5))))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) 2) re) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re))) (+.f64 (pow.f64 (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) 2) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (/.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 re (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (sqrt.f64 1/2)))) 2))))))))) (pow.f64 im 7)) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))))
(+.f64 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 2)) (pow.f64 im 5)))) (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)) (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) 2) re) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (/.f64 (/.f64 1/2 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 2))) re)) (pow.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))) 2)))))))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) (sqrt.f64 2))) (sqrt.f64 1/2)) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))
(+.f64 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (/.f64 (*.f64 (*.f64 (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (sqrt.f64 re)) 1/2) (sqrt.f64 1/2)) 2)) (pow.f64 im 5))))) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) 2) re) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re))) (fma.f64 1/2 (/.f64 (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (/.f64 (/.f64 1/2 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (/.f64 (*.f64 (*.f64 (+.f64 (neg.f64 (/.f64 1/16 (pow.f64 re 3))) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (sqrt.f64 re)) 1/2) (sqrt.f64 1/2)) 2))) re)) (pow.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))) 2)))) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(fma.f64 1/4 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im))
(fma.f64 (*.f64 (*.f64 re re) 1/4) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/4 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/4 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 im 3)) (/.f64 1/8 (pow.f64 im 3))) (*.f64 (pow.f64 re 4) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 re re) 1/4))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 im 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3)))) (pow.f64 im 2)))) (pow.f64 re 6)) (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/4 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 re 6) (-.f64 (/.f64 1/16 (pow.f64 im 5)) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))) (*.f64 im im)))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3)))))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/4 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))))) (*.f64 (*.f64 1/2 (pow.f64 re 6)) (+.f64 (/.f64 1/16 (pow.f64 im 5)) (/.f64 (*.f64 1/4 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3)))) (*.f64 im im))))))))
(+.f64 (fma.f64 (*.f64 (*.f64 re re) 1/4) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 -1/2 (pow.f64 re 4)) (+.f64 (/.f64 1/16 (pow.f64 im 3)) (/.f64 1/8 (pow.f64 im 3)))) (*.f64 (*.f64 1/2 (+.f64 (/.f64 1/16 (pow.f64 im 5)) (*.f64 -1/4 (/.f64 (-.f64 (/.f64 -1/8 (pow.f64 im 3)) (/.f64 1/16 (pow.f64 im 3))) (*.f64 im im))))) (pow.f64 re 6)))))
(sqrt.f64 re)
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (sqrt.f64 re))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 re))
(fma.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 im im) (sqrt.f64 re))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 -1/2 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 re 2)))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 re re)))))) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 4)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (*.f64 (*.f64 1/2 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 re re))))) (pow.f64 im 6)))) (fma.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 im im) (sqrt.f64 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) (pow.f64 im 4))) (*.f64 (*.f64 1/2 (pow.f64 im 6)) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 (/.f64 1/4 re) (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) re)))))) (fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (sqrt.f64 re)))
(+.f64 (hypot.f64 re im) re)
(+.f64 re (hypot.f64 re im))
(+.f64 re (hypot.f64 re im))
(-.f64 (hypot.f64 re im) re)
(-.f64 (+.f64 1 (+.f64 (hypot.f64 re im) re)) 1)
(+.f64 re (hypot.f64 re im))
(-.f64 (+.f64 (hypot.f64 re im) 0) re)
(-.f64 (hypot.f64 re im) re)
(*.f64 (+.f64 (hypot.f64 re im) re) 1)
(+.f64 re (hypot.f64 re im))
(*.f64 1 (+.f64 (hypot.f64 re im) re))
(+.f64 re (hypot.f64 re im))
(*.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 2))
(+.f64 re (hypot.f64 re im))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (+.f64 (hypot.f64 re im) re)))
(+.f64 re (hypot.f64 re im))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(+.f64 re (hypot.f64 re im))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 re re) (*.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (-.f64 re (hypot.f64 re im)))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))
(pow.f64 (+.f64 (hypot.f64 re im) re) 1)
(+.f64 re (hypot.f64 re im))
(pow.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 3) 1/3)
(+.f64 re (hypot.f64 re im))
(pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 3)
(+.f64 re (hypot.f64 re im))
(pow.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) 2)
(+.f64 re (hypot.f64 re im))
(sqrt.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 2))
(+.f64 re (hypot.f64 re im))
(log.f64 (exp.f64 (+.f64 (hypot.f64 re im) re)))
(+.f64 re (hypot.f64 re im))
(cbrt.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 3))
(+.f64 re (hypot.f64 re im))
(expm1.f64 (log1p.f64 (+.f64 (hypot.f64 re im) re)))
(+.f64 re (hypot.f64 re im))
(log1p.f64 (expm1.f64 (+.f64 (hypot.f64 re im) re)))
(+.f64 re (hypot.f64 re im))
(exp.f64 (log.f64 (+.f64 (hypot.f64 re im) re)))
(+.f64 re (hypot.f64 re im))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))) (cbrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.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))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.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))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.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))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 1/2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))) 3)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 1/4) 2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2) 3/2))
(cbrt.f64 (pow.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(-.f64 (+.f64 1 (sqrt.f64 (hypot.f64 re im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(*.f64 (sqrt.f64 (hypot.f64 re im)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(*.f64 1 (sqrt.f64 (hypot.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(*.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (hypot.f64 re im) 1/4) (pow.f64 (hypot.f64 re im) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (fabs.f64 (cbrt.f64 (hypot.f64 re im))) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (hypot.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (fabs.f64 (cbrt.f64 (hypot.f64 re im))) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))
(pow.f64 (hypot.f64 re im) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(pow.f64 (sqrt.f64 (hypot.f64 re im)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(pow.f64 (pow.f64 (hypot.f64 re im) 3/2) 1/3)
(cbrt.f64 (pow.f64 (hypot.f64 re im) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(pow.f64 (pow.f64 (hypot.f64 re im) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(pow.f64 (pow.f64 (hypot.f64 re im) 2) 1/4)
(fabs.f64 (sqrt.f64 (hypot.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(log.f64 (exp.f64 (sqrt.f64 (hypot.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(cbrt.f64 (pow.f64 (hypot.f64 re im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (hypot.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(log1p.f64 (expm1.f64 (sqrt.f64 (hypot.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))
(exp.f64 (log.f64 (sqrt.f64 (hypot.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (hypot.f64 re im)) 1))
(+.f64 (sqrt.f64 (hypot.f64 re im)) 0)
(sqrt.f64 (hypot.f64 re im))

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)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

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

simplify35.0ms (0.5%)

Algorithm
egg-herbie
Rules
415×fma-def_binary64
330×*-commutative_binary64
320×associate-*l*_binary64
320×fma-neg_binary64
282×log-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060233
1112213
2290209
3937195
43284195
Stop Event
node limit
Counts
25 → 31
Calls
Call 1
Inputs
(+.f64 0 (sqrt.f64 (+.f64 im im)))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))))
(+.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))))))
(-.f64 (+.f64 1 (sqrt.f64 (+.f64 im im))) 1)
(*.f64 (sqrt.f64 (+.f64 im im)) 1)
(*.f64 1 (sqrt.f64 (+.f64 im im)))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) (cbrt.f64 (+.f64 im im)))
(*.f64 (cbrt.f64 (+.f64 im im)) (cbrt.f64 (sqrt.f64 (+.f64 im im))))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (pow.f64 (+.f64 im im) 1/4) (pow.f64 (+.f64 im im) 1/4))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 im im)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 im im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 im im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 im im)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 im im)) 1/2))
(pow.f64 (+.f64 im im) 1/2)
(pow.f64 (sqrt.f64 (+.f64 im im)) 1)
(pow.f64 (pow.f64 (+.f64 im im) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
(pow.f64 (pow.f64 (+.f64 im im) 1/4) 2)
(fabs.f64 (sqrt.f64 (+.f64 im im)))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))
(cbrt.f64 (pow.f64 (+.f64 im im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 im im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 im im))))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 im im))))
Outputs
(+.f64 0 (sqrt.f64 (+.f64 im im)))
(sqrt.f64 (+.f64 im im))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))))
(sqrt.f64 (+.f64 im im))
(+.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))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))) 3)
(-.f64 (+.f64 1 (sqrt.f64 (+.f64 im im))) 1)
(sqrt.f64 (+.f64 im im))
(*.f64 (sqrt.f64 (+.f64 im im)) 1)
(sqrt.f64 (+.f64 im im))
(*.f64 1 (sqrt.f64 (+.f64 im im)))
(sqrt.f64 (+.f64 im im))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) (cbrt.f64 (+.f64 im im)))
(*.f64 (cbrt.f64 (+.f64 im im)) (cbrt.f64 (sqrt.f64 (+.f64 im im))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) (cbrt.f64 (+.f64 im im)))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (pow.f64 (+.f64 im im) 1/4) (pow.f64 (+.f64 im im) 1/4))
(sqrt.f64 (+.f64 im im))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 im im)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 im im))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 im im))) (sqrt.f64 (cbrt.f64 (+.f64 im im))))
(*.f64 (cbrt.f64 (+.f64 im im)) (sqrt.f64 (cbrt.f64 (+.f64 im im))))
(pow.f64 (cbrt.f64 (+.f64 im im)) 3/2)
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 im im)))
(sqrt.f64 (+.f64 im im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 im im)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 im im)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 im im)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 im im))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 im im))) (sqrt.f64 (cbrt.f64 (+.f64 im im))))
(*.f64 (cbrt.f64 (+.f64 im im)) (sqrt.f64 (cbrt.f64 (+.f64 im im))))
(pow.f64 (cbrt.f64 (+.f64 im im)) 3/2)
(pow.f64 (+.f64 im im) 1/2)
(sqrt.f64 (+.f64 im im))
(pow.f64 (sqrt.f64 (+.f64 im im)) 1)
(sqrt.f64 (+.f64 im im))
(pow.f64 (pow.f64 (+.f64 im im) 3/2) 1/3)
(cbrt.f64 (pow.f64 (+.f64 im im) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
(sqrt.f64 (+.f64 im im))
(pow.f64 (pow.f64 (+.f64 im im) 1/4) 2)
(sqrt.f64 (+.f64 im im))
(fabs.f64 (sqrt.f64 (+.f64 im im)))
(sqrt.f64 (+.f64 im im))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 im im))))
(sqrt.f64 (+.f64 im im))
(cbrt.f64 (pow.f64 (+.f64 im im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 im im))))
(sqrt.f64 (+.f64 im im))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 im im))))
(sqrt.f64 (+.f64 im im))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 im im))))
(sqrt.f64 (+.f64 im im))

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series6.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite55.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify40.0ms (0.5%)

Algorithm
egg-herbie
Rules
670×associate-/r*_binary64
650×associate-*l/_binary64
592×associate-/r/_binary64
534×associate-*r/_binary64
299×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0117717
1275675
2820617
33361593
Stop Event
node limit
Counts
30 → 59
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.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))
(pow.f64 (*.f64 2 (-.f64 im re)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
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 (sqrt.f64 re) (sqrt.f64 2)) (sqrt.f64 -1))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (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 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) 1/2) im) (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 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) (/.f64 (*.f64 -1 (sqrt.f64 -1)) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (/.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(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 im (/.f64 -1 im)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.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 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) (/.f64 (*.f64 -1 (sqrt.f64 -1)) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 1/2 (*.f64 (/.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (/.f64 (sqrt.f64 -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 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 im (/.f64 -1 im)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 2)) re)))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) 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 (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 2)) re) (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) (*.f64 (*.f64 re re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 im))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/8)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/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 (*.f64 (sqrt.f64 2) 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 (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 2)) re) (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 (sqrt.f64 im) (*.f64 (*.f64 re re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2))) (*.f64 (*.f64 re re) (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/16)))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 im re))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.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))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(pow.f64 (*.f64 2 (-.f64 im re)) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (/.f64 1/2 (/.f64 re (*.f64 im im))))
0.3b
(/.f64 1/2 (/.f64 re (*.f64 im im)))
7.7b
(/.f64 re (*.f64 im im))
21.1b
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (*.f64 im im)))))
Compiler

Compiled 52 to 24 computations (53.8% saved)

series13.0ms (0.2%)

Counts
4 → 84
Calls

24 calls:

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

rewrite70.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
509×log-prod_binary64
388×exp-prod_binary64
294×pow-prod-down_binary64
256×pow2_binary64
237×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify89.0ms (1.2%)

Algorithm
egg-herbie
Rules
867×fma-def_binary64
324×log-prod_binary64
278×sqr-pow_binary64
251×unswap-sqr_binary64
218×exp-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04482921
110662857
230562755
Stop Event
node limit
Counts
293 → 270
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 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(*.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)
(+.f64 0 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))) 1)
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(*.f64 1 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (pow.f64 (/.f64 im (/.f64 re im)) 1/6))
(*.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))
(*.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4) (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(pow.f64 (*.f64 re (pow.f64 im -2)) -1/2)
(pow.f64 (/.f64 im (/.f64 re im)) 1/2)
(pow.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(pow.f64 (exp.f64 1/2) (log.f64 (/.f64 im (/.f64 re im))))
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2) 1/4)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) 1/6)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3/2)
(pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6) 3)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4) 2)
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(pow.f64 (exp.f64 1) (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))) 2)) (cbrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))) (sqrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))))
(fabs.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(log.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))))
(cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2))
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))
(log1p.f64 (expm1.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))
(exp.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 im (/.f64 re im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1) 1))
(+.f64 0 (*.f64 re (pow.f64 im -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (pow.f64 im -2)))) 1)
(*.f64 re (pow.f64 im -2))
(*.f64 (*.f64 re (pow.f64 im -2)) 1)
(*.f64 1 (*.f64 re (pow.f64 im -2)))
(*.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)) (cbrt.f64 (*.f64 re (pow.f64 im -2))))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (pow.f64 im -2)))
(*.f64 (/.f64 (sqrt.f64 re) im) (/.f64 (sqrt.f64 re) im))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (pow.f64 im -2)))
(*.f64 (neg.f64 re) (/.f64 1 (*.f64 im (neg.f64 im))))
(*.f64 (pow.f64 im -2) re)
(*.f64 (/.f64 re im) (/.f64 1 im))
(*.f64 (/.f64 1 im) (/.f64 re im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) im) (/.f64 (cbrt.f64 re) im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(*.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 im) im)) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 re (pow.f64 im -2))))
(*.f64 (/.f64 (sqrt.f64 re) (*.f64 (cbrt.f64 im) im)) (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 im) 2)))
(pow.f64 (*.f64 re (pow.f64 im -2)) 1)
(pow.f64 (/.f64 im (/.f64 re im)) -1)
(pow.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) -2)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2) -1/2)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) -1/3)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) -3)
(pow.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) 3)
(pow.f64 (/.f64 (sqrt.f64 re) im) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 re (pow.f64 im -2))))
(pow.f64 (/.f64 (pow.f64 re 3) (pow.f64 im 6)) 1/3)
(pow.f64 (/.f64 (/.f64 im (/.f64 re im)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 re (pow.f64 im -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 re (pow.f64 im -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 re (pow.f64 im -2))))) (sqrt.f64 (log.f64 (*.f64 re (pow.f64 im -2)))))
(neg.f64 (/.f64 re (*.f64 im (neg.f64 im))))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))
(log.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (pow.f64 im -2)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6))
(cbrt.f64 (/.f64 (pow.f64 re 3) (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 re (pow.f64 im -2))))
(log1p.f64 (expm1.f64 (*.f64 re (pow.f64 im -2))))
(exp.f64 (log.f64 (*.f64 re (pow.f64 im -2))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1))
(exp.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) -1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2)))) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1) -1))
(exp.f64 (-.f64 (*.f64 (log.f64 re) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (-.f64 (log.f64 re) (*.f64 (log.f64 im) 2)))
(exp.f64 (-.f64 (*.f64 (log.f64 re) 1) (*.f64 (log.f64 im) 2)))
(exp.f64 (-.f64 (log.f64 re) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 re) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (-.f64 (log.f64 (/.f64 re im)) (*.f64 (log.f64 im) 1)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1)))
(+.f64 0 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))) 1)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 1)
(*.f64 (/.f64 im (/.f64 re im)) 1/2)
(*.f64 1 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))))
(*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))) (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))
(*.f64 -1/2 (/.f64 1 (*.f64 re (neg.f64 (pow.f64 im -2)))))
(*.f64 (/.f64 1/2 re) (*.f64 im im))
(*.f64 (/.f64 1/2 (neg.f64 re)) (*.f64 im (neg.f64 im)))
(*.f64 (/.f64 1/2 (/.f64 re im)) im)
(*.f64 (*.f64 1/2 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 2)
(*.f64 (*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im))) (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 (*.f64 (/.f64 1/2 re) 1) (*.f64 im im))
(*.f64 (*.f64 (/.f64 1/2 re) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 1)
(pow.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)) 1/2)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 6) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 3)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 2)
(pow.f64 (*.f64 (*.f64 re (pow.f64 im -2)) 2) -1)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(pow.f64 (/.f64 (*.f64 (*.f64 re (pow.f64 im -2)) 2) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
(sqrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)))
(log.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 6))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 re (pow.f64 im -2)) 2)) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1) 1))
(+.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(+.f64 0 (/.f64 im (/.f64 re im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (/.f64 re im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (/.f64 re im)))) 1)
(/.f64 2 (*.f64 (*.f64 re (pow.f64 im -2)) 2))
(/.f64 im (/.f64 re im))
(/.f64 (*.f64 im im) re)
(/.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) (/.f64 (sqrt.f64 re) im))
(/.f64 1 (*.f64 re (pow.f64 im -2)))
(/.f64 1 (/.f64 (*.f64 re (pow.f64 im -2)) 1))
(/.f64 (*.f64 (cbrt.f64 im) im) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(/.f64 -1 (*.f64 re (neg.f64 (pow.f64 im -2))))
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(/.f64 (/.f64 1 re) (pow.f64 im -2))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) -2) (cbrt.f64 (*.f64 re (pow.f64 im -2))))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(pow.f64 (*.f64 re (pow.f64 im -2)) -1)
(pow.f64 (/.f64 im (/.f64 re im)) 1)
(pow.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) 2)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2) 1/2)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) 1/3)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2) 2/3)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6) -1/3)
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)
(pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6) 6)
(pow.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) -3)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4) 4)
(pow.f64 (/.f64 (sqrt.f64 re) im) -2)
(pow.f64 (exp.f64 1) (log.f64 (/.f64 im (/.f64 re im))))
(pow.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 3)) 1/3)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (/.f64 (*.f64 re (pow.f64 im -2)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (/.f64 re im)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (/.f64 re im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (/.f64 re im))))) (sqrt.f64 (log.f64 (/.f64 im (/.f64 re im)))))
(sqrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2))
(log.f64 (exp.f64 (/.f64 im (/.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (/.f64 re im)))))
(cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3))
(cbrt.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (/.f64 im (/.f64 re im))))
(log1p.f64 (expm1.f64 (/.f64 im (/.f64 re im))))
(exp.f64 (log.f64 (/.f64 im (/.f64 re im))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1))
(exp.f64 (neg.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1)))
(exp.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2)) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 im (/.f64 re im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1) 2))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 re im))))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 2) (log.f64 re)))
(exp.f64 (-.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 re)))
(exp.f64 (-.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 re) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 re) 1)))
(exp.f64 (-.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 re) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2) (log.f64 (/.f64 (sqrt.f64 re) im))))
(exp.f64 (-.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1) (log.f64 (/.f64 (sqrt.f64 re) im))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -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 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(+.f64 0 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 1 (sqrt.f64 re)) im))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 1 (sqrt.f64 re)) im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 1 (sqrt.f64 re))) im))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 1 (sqrt.f64 re)) im)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 1 (sqrt.f64 re))) im))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))) 1)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (pow.f64 (/.f64 im (/.f64 re im)) 1/6))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (sqrt.f64 2))
(*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))
(*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 2)))
(*.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4) (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 re (pow.f64 im -2)) -1/2)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (/.f64 re im)) 1/2)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (exp.f64 1/2) (log.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2) 1/4)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) -4) 1/4)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) 1/6)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2))
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3/2)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6) 3)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4) 2)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (exp.f64 1) (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))) 2)) (cbrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))) (sqrt.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))))
(fabs.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2))
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 im (/.f64 re im)))) 1/3))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6)) 3))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4)) 2))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1) 1/2))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2) 1))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1) 1))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(+.f64 0 (*.f64 re (pow.f64 im -2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (pow.f64 im -2)))) 1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 re (pow.f64 im -2))
(/.f64 re (*.f64 im im))
(*.f64 (*.f64 re (pow.f64 im -2)) 1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 1 (*.f64 re (pow.f64 im -2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)) (cbrt.f64 (*.f64 re (pow.f64 im -2))))
(*.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (pow.f64 im -2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (sqrt.f64 re) im) (/.f64 (sqrt.f64 re) im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (pow.f64 im -2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (neg.f64 re) (/.f64 1 (*.f64 im (neg.f64 im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (pow.f64 im -2) re)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 re im) (/.f64 1 im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 1 im) (/.f64 re im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) im) (/.f64 (cbrt.f64 re) im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 im) im)) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 re (pow.f64 im -2))))
(*.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) (/.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 im (cbrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 re) (*.f64 (cbrt.f64 im) im)) (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 im) 2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (*.f64 re (pow.f64 im -2)) 1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (/.f64 im (/.f64 re im)) -1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) -2)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2) -1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) -4) -1/2)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) -1/3)
(*.f64 (pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) -1/6) (pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) -1/6))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4) 1/2)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6) 1/3)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) -3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) -3)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) -3)
(pow.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) 3)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (/.f64 (sqrt.f64 re) im) 2)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 re (pow.f64 im -2))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (/.f64 (pow.f64 re 3) (pow.f64 im 6)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 re 3) (pow.f64 im 6)))
(pow.f64 (/.f64 (/.f64 im (/.f64 re im)) 1) -1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 re (pow.f64 im -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 re (pow.f64 im -2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 -2 (log.f64 im) (log.f64 re))) 2)) (cbrt.f64 (fma.f64 -2 (log.f64 im) (log.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 re (pow.f64 im -2))))) (sqrt.f64 (log.f64 (*.f64 re (pow.f64 im -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 -2 (log.f64 im) (log.f64 re)))) (sqrt.f64 (fma.f64 -2 (log.f64 im) (log.f64 re))))
(neg.f64 (/.f64 re (*.f64 im (neg.f64 im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(log.f64 (pow.f64 (exp.f64 re) (pow.f64 im -2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (pow.f64 im -2)))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(cbrt.f64 (/.f64 (pow.f64 re 3) (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 re (pow.f64 im -2))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(log1p.f64 (expm1.f64 (*.f64 re (pow.f64 im -2))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (log.f64 (*.f64 re (pow.f64 im -2))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) -1))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6)) 1/3))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2)))) 3))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1) 1))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1) -1))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (-.f64 (*.f64 (log.f64 re) 1) (*.f64 2 (log.f64 im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (-.f64 (log.f64 re) (*.f64 (log.f64 im) 2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (-.f64 (*.f64 (log.f64 re) 1) (*.f64 (log.f64 im) 2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (-.f64 (log.f64 re) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (-.f64 (*.f64 (log.f64 re) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (-.f64 (log.f64 (/.f64 re im)) (*.f64 (log.f64 im) 1)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (neg.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(+.f64 0 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 im re) im)))))) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 im re) im))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (*.f64 im (/.f64 im re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 im re) im))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (*.f64 im (/.f64 im re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))) 1)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 im im) (/.f64 1/2 re))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 1)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (/.f64 im (/.f64 re im)) 1/2)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 1 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (/.f64 re im)))) (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))))
(*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))) (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (/.f64 re im)))) (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) (cbrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 1 (*.f64 re (neg.f64 (pow.f64 im -2)))))
(/.f64 -1/2 (*.f64 re (neg.f64 (pow.f64 im -2))))
(*.f64 (/.f64 1/2 re) (*.f64 im im))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (/.f64 1/2 (neg.f64 re)) (*.f64 im (neg.f64 im)))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (/.f64 1/2 (/.f64 re im)) im)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 2)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im))) (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 1/2 (*.f64 (cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2)) (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2))))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) -4)) (*.f64 1/2 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (*.f64 (/.f64 1/2 re) im) im)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 (/.f64 1/2 re) 1) (*.f64 im im))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 (/.f64 1/2 re) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 1)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)) 1/2)
(sqrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 6) 1/3)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 3)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 2)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (*.f64 (*.f64 re (pow.f64 im -2)) 2) -1)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (/.f64 (*.f64 (*.f64 re (pow.f64 im -2)) 2) 1) -1)
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (/.f64 re im))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (/.f64 re im))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (/.f64 re im)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 1/2 (/.f64 re im))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (/.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 re) im) 4)))
(log.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))))
(log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 im re) im))))
(log.f64 (sqrt.f64 (exp.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 6))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(exp.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 6)) 1/3))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))) 3))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 2))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 re (pow.f64 im -2)) 2)) -1))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1) 1))
(*.f64 im (/.f64 1/2 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(+.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(+.f64 0 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 im (/.f64 re im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (/.f64 re im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 im re) im))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 im re) im)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (*.f64 im (/.f64 im re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (/.f64 re im)))) 1)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 2 (*.f64 (*.f64 re (pow.f64 im -2)) 2))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) (/.f64 (sqrt.f64 re) im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 1 (*.f64 re (pow.f64 im -2)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 1 (/.f64 (*.f64 re (pow.f64 im -2)) 1))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (cbrt.f64 im) im) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 -1 (*.f64 re (neg.f64 (pow.f64 im -2))))
(/.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im -2)))
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 1 re) (pow.f64 im -2))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) -2) (cbrt.f64 (*.f64 re (pow.f64 im -2))))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 re (pow.f64 im -2)) -1)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (/.f64 re im)) 1)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 1 (/.f64 (sqrt.f64 re) im)) 2)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2) 1/2)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3) 1/3)
(cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3))
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2) 2/3)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2)) (cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3/2)))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6) -1/3)
(*.f64 (pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6) -1/6) (pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 6) -1/6))
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 1/6) 6)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) -3)
(pow.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -1/4) 4)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 (sqrt.f64 re) im) -2)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (exp.f64 1) (log.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 3)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 3)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 (*.f64 re (pow.f64 im -2)) 1) -1)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (/.f64 re im)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (/.f64 re im)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 im re) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 im re) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (/.f64 re im))))) (sqrt.f64 (log.f64 (/.f64 im (/.f64 re im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 im re) im)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 im re) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(log.f64 (exp.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (/.f64 re im)))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -3))
(cbrt.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (neg.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) -1))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 2))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (pow.f64 im -2)) -2)) 1/2))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 im (/.f64 re im)))) 1/3))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))) 3))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (pow.f64 im -2))) 1) -1))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1) 1))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2) 2))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1) 2))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 re im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 2) (log.f64 re)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 re)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 re) 1)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 re) 1)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 re) 1)))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 im (/.f64 re im))) 1/2) (log.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1) (log.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))

localize50.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 46 computations (19.3% saved)

series11.0ms (0.1%)

Counts
4 → 36
Calls

18 calls:

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

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
572×log-prod_binary64
425×exp-prod_binary64
424×pow-prod-down_binary64
293×pow2_binary64
242×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify69.0ms (0.9%)

Algorithm
egg-herbie
Rules
537×fma-def_binary64
535×log-prod_binary64
388×distribute-rgt-in_binary64
372×distribute-lft-in_binary64
298×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03071620
16791491
219921491
373411491
Stop Event
node limit
Counts
163 → 152
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.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 (*.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 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 (*.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 0 (*.f64 im (sqrt.f64 1/2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sqrt.f64 1/2)))) 1)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 1)
(pow.f64 (E.f64) (log.f64 (*.f64 im (sqrt.f64 1/2))))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 1/2))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))))) (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2)))))
(sqrt.f64 (*.f64 1/2 (*.f64 im im)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (sqrt.f64 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (sqrt.f64 1/2))))
(log1p.f64 (expm1.f64 (*.f64 im (sqrt.f64 1/2))))
(exp.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (sqrt.f64 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (sqrt.f64 1/2)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 1) 1))
(+.f64 0 (/.f64 im (sqrt.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (*.f64 (pow.f64 re -3/2) (pow.f64 im 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (pow.f64 re -1/4) (sqrt.f64 im)) 2)
(pow.f64 (*.f64 (pow.f64 im 3) (pow.f64 re -3/2)) 1/3)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(sqrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 im (sqrt.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1) 1))
(+.f64 0 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 1)
(/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))) 1)
(pow.f64 (E.f64) (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(pow.f64 (*.f64 (/.f64 1 re) (*.f64 1/2 (*.f64 im im))) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(sqrt.f64 (*.f64 (/.f64 1 re) (*.f64 1/2 (*.f64 im im))))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(exp.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 1) 1))
(+.f64 0 (pow.f64 re -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -1/2))) 1)
(*.f64 1 (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) 1)
(*.f64 (pow.f64 re -1/6) (/.f64 1 (cbrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (pow.f64 re -1/6))
(*.f64 (pow.f64 re -1/4) (pow.f64 re -1/4))
(/.f64 1 (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) 1))
(/.f64 -1 (neg.f64 (sqrt.f64 re)))
(/.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (/.f64 1 re) 1/2)
(pow.f64 (pow.f64 re -1/2) 1)
(pow.f64 (E.f64) (*.f64 -1/2 (log.f64 re)))
(pow.f64 (exp.f64 1/2) (neg.f64 (log.f64 re)))
(pow.f64 (pow.f64 re -3/2) 1/3)
(pow.f64 (pow.f64 re 3) -1/6)
(pow.f64 (pow.f64 re -2) 1/4)
(pow.f64 (pow.f64 re -3) 1/6)
(pow.f64 (pow.f64 re -1/6) 3)
(pow.f64 (cbrt.f64 re) -3/2)
(pow.f64 (/.f64 1 (cbrt.f64 re)) 3/2)
(pow.f64 (pow.f64 re -1/4) 2)
(pow.f64 (sqrt.f64 re) -1)
(pow.f64 (/.f64 (sqrt.f64 re) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (log.f64 re))) 2)) (cbrt.f64 (*.f64 -1/2 (log.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (log.f64 re)))) (sqrt.f64 (*.f64 -1/2 (log.f64 re))))
(fabs.f64 (pow.f64 re -1/2))
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -1/2))))
(cbrt.f64 (pow.f64 re -3/2))
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
(exp.f64 (*.f64 -1/2 (log.f64 re)))
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(exp.f64 (*.f64 (*.f64 -1/2 (log.f64 re)) 1))
(exp.f64 (*.f64 (log.f64 re) -1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/4)) 2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 1/2))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 -1/2 (log.f64 re)) 1) 1))
Outputs
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.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 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (pow.f64 re -1/2))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(+.f64 0 (*.f64 im (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) im)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 1/2) im)
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sqrt.f64 1/2)))) 1)
(*.f64 (sqrt.f64 1/2) im)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 1)
(*.f64 (sqrt.f64 1/2) im)
(pow.f64 (E.f64) (log.f64 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 1/2) im)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1/2)
(sqrt.f64 (*.f64 1/2 (*.f64 im im)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3) 1/3)
(*.f64 (sqrt.f64 1/2) im)
(pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 1/2))) 3)
(*.f64 (sqrt.f64 1/2) im)
(pow.f64 (sqrt.f64 (*.f64 im (sqrt.f64 1/2))) 2)
(*.f64 (sqrt.f64 1/2) im)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))))) (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im))))
(sqrt.f64 (*.f64 1/2 (*.f64 im im)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) im)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 1/2) im)
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3))
(*.f64 (sqrt.f64 1/2) im)
(expm1.f64 (log1p.f64 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 1/2) im)
(log1p.f64 (expm1.f64 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 1/2) im)
(exp.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 1/2) im)
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 1))
(*.f64 (sqrt.f64 1/2) im)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3)) 1/3))
(*.f64 (sqrt.f64 1/2) im)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (sqrt.f64 1/2)))) 3))
(*.f64 (sqrt.f64 1/2) im)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (sqrt.f64 1/2)))) 2))
(*.f64 (sqrt.f64 1/2) im)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 1) 1))
(*.f64 (sqrt.f64 1/2) im)
(+.f64 0 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2) 1/2)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 (pow.f64 re -3/2) (pow.f64 im 3)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 re -3/2) (pow.f64 im 3)))
(pow.f64 (*.f64 (pow.f64 re -1/6) (cbrt.f64 im)) 3)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (pow.f64 re -1/4) (sqrt.f64 im)) 2)
(pow.f64 (*.f64 (pow.f64 re -1/6) (cbrt.f64 im)) 3)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (pow.f64 im 3) (pow.f64 re -3/2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 re -3/2) (pow.f64 im 3)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(sqrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2))
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 im (sqrt.f64 re)))) 1/3))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 3))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) 2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1) 1))
(/.f64 im (sqrt.f64 re))
(+.f64 0 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(pow.f64 (E.f64) (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(pow.f64 (*.f64 (/.f64 1 re) (*.f64 1/2 (*.f64 im im))) 1/2)
(sqrt.f64 (*.f64 (/.f64 1 re) (*.f64 1/2 (*.f64 im im))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(sqrt.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))) 3) 1/3)
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 3)
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))))
(sqrt.f64 (*.f64 (/.f64 1 re) (*.f64 1/2 (*.f64 im im))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(sqrt.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))) 3))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(exp.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 1))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 1/3))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 3))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re))))) 2))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))) 1) 1))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(+.f64 0 (pow.f64 re -1/2))
(pow.f64 re -1/2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -1/2))) 1)
(pow.f64 re -1/2)
(*.f64 1 (pow.f64 re -1/2))
(pow.f64 re -1/2)
(*.f64 (pow.f64 re -1/2) 1)
(pow.f64 re -1/2)
(*.f64 (pow.f64 re -1/6) (/.f64 1 (cbrt.f64 re)))
(/.f64 (pow.f64 re -1/6) (cbrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (pow.f64 re -1/6))
(*.f64 (pow.f64 re -1/6) (/.f64 1 (cbrt.f64 re)))
(/.f64 (pow.f64 re -1/6) (cbrt.f64 re))
(*.f64 (pow.f64 re -1/4) (pow.f64 re -1/4))
(pow.f64 re -1/2)
(/.f64 1 (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) 1))
(/.f64 1 (sqrt.f64 re))
(/.f64 -1 (neg.f64 (sqrt.f64 re)))
(/.f64 1 (sqrt.f64 re))
(/.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (/.f64 1 re) 1/2)
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re -1/2) 1)
(pow.f64 re -1/2)
(pow.f64 (E.f64) (*.f64 -1/2 (log.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (exp.f64 1/2) (neg.f64 (log.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re -3/2) 1/3)
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re 3) -1/6)
(pow.f64 (pow.f64 re -2) 1/4)
(pow.f64 (pow.f64 re -3) 1/6)
(pow.f64 (pow.f64 re -1/6) 3)
(pow.f64 re -1/2)
(pow.f64 (cbrt.f64 re) -3/2)
(pow.f64 (/.f64 1 (cbrt.f64 re)) 3/2)
(pow.f64 (pow.f64 re -1/4) 2)
(pow.f64 re -1/2)
(pow.f64 (sqrt.f64 re) -1)
(/.f64 1 (sqrt.f64 re))
(pow.f64 (/.f64 (sqrt.f64 re) 1) -1)
(/.f64 1 (sqrt.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (log.f64 re))) 2)) (cbrt.f64 (*.f64 -1/2 (log.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (log.f64 re)))) (sqrt.f64 (*.f64 -1/2 (log.f64 re))))
(fabs.f64 (pow.f64 re -1/2))
(pow.f64 re -1/2)
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -1/2))))
(pow.f64 re -1/2)
(cbrt.f64 (pow.f64 re -3/2))
(pow.f64 re -1/2)
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(exp.f64 (*.f64 -1/2 (log.f64 re)))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 -1/2 (log.f64 re)) 1))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 re) -1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -3/2)) 1/3))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/6)) 3))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/4)) 2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) -1))
(/.f64 1 (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1) 1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2) 1))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (*.f64 -1/2 (log.f64 re)) 1) 1))
(pow.f64 re -1/2)

eval521.0ms (7.1%)

Compiler

Compiled 16100 to 11428 computations (29% saved)

prune207.0ms (2.8%)

Pruning

15 alts after pruning (11 fresh and 4 done)

PrunedKeptTotal
New7208728
Fresh336
Picked101
Done145
Total72515740
Error
0.1b
Counts
740 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
45.8b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
45.8b
(*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
37.1b
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
45.8b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (sqrt.f64 2)))
32.4b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
45.8b
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
17.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
14.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
31.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re)))))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
59.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 re))))
32.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
18.1b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
Compiler

Compiled 300 to 235 computations (21.7% saved)

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
0.1b
(-.f64 (hypot.f64 re im) re)
0.2b
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
3.6b
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
Compiler

Compiled 60 to 27 computations (55% saved)

series15.0ms (0.2%)

Counts
2 → 16
Calls

12 calls:

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

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
942×pow1_binary64
874×add-log-exp_binary64
873×log1p-expm1-u_binary64
873×expm1-log1p-u_binary64
854×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify54.0ms (0.7%)

Algorithm
egg-herbie
Rules
712×fma-def_binary64
516×times-frac_binary64
440×associate-/r*_binary64
433×associate-/l*_binary64
275×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02462053
16401901
222821786
Stop Event
node limit
Counts
63 → 104
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))))))
(log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (/.f64 re im)) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (/.f64 re im)) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (*.f64 3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 im 2))) (*.f64 1/4 (/.f64 1 (pow.f64 im 3)))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 re im)) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))) (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))) (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 12 (/.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)) re) (pow.f64 (sqrt.f64 1/2) 2))) (*.f64 3/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 re 4))))))) (log.f64 im))))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))) (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 12 (/.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)) re) (pow.f64 (sqrt.f64 1/2) 2))) (*.f64 3/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 re 4))))))) (+.f64 (*.f64 1/720 (*.f64 (-.f64 (+.f64 (*.f64 360 (/.f64 (*.f64 re (-.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 (sqrt.f64 1/2) 2))) (*.f64 45/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)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) re)))) (*.f64 15/256 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 6) (pow.f64 re 6))))) (pow.f64 im 6))) (log.f64 im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) 2)
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2))) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 (sqrt.f64 2)) (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))
(+.f64 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(+.f64 0 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4)) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4)))
(-.f64 (+.f64 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1)
(*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(*.f64 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2)
(*.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 1/2 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(pow.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 3)
(pow.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)
(sqrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2))
(cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3))
(expm1.f64 (log1p.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(log1p.f64 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1))
(exp.f64 (log.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) 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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (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 (*.f64 (sqrt.f64 2) 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 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))))))
(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 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 -1/2 re) (sqrt.f64 2)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))))))))
(+.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 (*.f64 (sqrt.f64 2) 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 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 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 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 1/4 (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 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -1/2))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))))) 1/2) (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 (pow.f64 re 3) (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 (*.f64 im (sqrt.f64 1/2)) (*.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 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (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 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.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 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 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/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 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 1/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 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (*.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))) (sqrt.f64 1/2))) 2))) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (sqrt.f64 re)))))
(fma.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))) (*.f64 (sqrt.f64 re) 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 -1/16 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 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/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 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (*.f64 1/16 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -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))) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 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 1/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 (sqrt.f64 2) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)) (-.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 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2)) (*.f64 re re))))))) (*.f64 1/2 (/.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))) (sqrt.f64 1/2))) 2))) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5)))))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.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 (sqrt.f64 re) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7))) (+.f64 (/.f64 (fma.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) -1/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))))) (*.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))))) (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 -1/16 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3)))))))
(log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (/.f64 re im)) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (/.f64 re im) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (/.f64 re im)) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (/.f64 re im) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (*.f64 3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 im 2))) (*.f64 1/4 (/.f64 1 (pow.f64 im 3)))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 re im)) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 3 (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 im im))) (/.f64 1/4 (pow.f64 im 3)))) (fma.f64 -1/2 (/.f64 re im) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (fma.f64 3 (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 im im)) (/.f64 -1/4 (pow.f64 im 3)))) (fma.f64 -1/2 (/.f64 re im) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 (pow.f64 re 3) (fma.f64 (*.f64 3 (+.f64 (/.f64 1/2 (pow.f64 im 3)) (/.f64 -1/4 (pow.f64 im 3)))) 1/6 (/.f64 -1/24 (pow.f64 im 3))) (fma.f64 -1/2 (/.f64 re im) (log.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (log.f64 im))
(+.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (log.f64 im))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))) (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im)))
(fma.f64 -1/16 (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2))) (+.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (log.f64 im)))
(+.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (+.f64 (log.f64 im) (*.f64 -1/8 (/.f64 (*.f64 im im) (*.f64 re re)))))
(+.f64 (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 im)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))) (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 12 (/.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)) re) (pow.f64 (sqrt.f64 1/2) 2))) (*.f64 3/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 re 4))))))) (log.f64 im))))
(fma.f64 -1/16 (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2))) (+.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 12 (/.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 (pow.f64 (sqrt.f64 1/2) 2) re))) (/.f64 3/64 (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 re 4))))) (log.f64 im))))
(+.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (+.f64 (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 12 (*.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2)) 1/2) re) (/.f64 -3/16 (pow.f64 re 4)))) (log.f64 im)) (*.f64 -1/8 (/.f64 (*.f64 im im) (*.f64 re re)))))
(+.f64 (fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 24 (*.f64 re (-.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 -3/16 (pow.f64 re 4)))) (log.f64 im)) (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2)))) (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 12 (/.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)) re) (pow.f64 (sqrt.f64 1/2) 2))) (*.f64 3/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 re 4))))))) (+.f64 (*.f64 1/720 (*.f64 (-.f64 (+.f64 (*.f64 360 (/.f64 (*.f64 re (-.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 (sqrt.f64 1/2) 2))) (*.f64 45/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)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) re)))) (*.f64 15/256 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 6) (pow.f64 re 6))))) (pow.f64 im 6))) (log.f64 im)))))
(fma.f64 -1/16 (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2))) (+.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 12 (/.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 (pow.f64 (sqrt.f64 1/2) 2) re))) (/.f64 3/64 (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 re 4))))) (fma.f64 1/720 (*.f64 (-.f64 (fma.f64 360 (/.f64 (*.f64 re (+.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 -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 (sqrt.f64 1/2) 2)) (*.f64 45/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)) (*.f64 re (pow.f64 (sqrt.f64 1/2) 4))))) (/.f64 15/256 (*.f64 (pow.f64 re 6) (pow.f64 (sqrt.f64 1/2) 6)))) (pow.f64 im 6)) (log.f64 im)))))
(+.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (+.f64 (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 12 (*.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2)) 1/2) re) (/.f64 -3/16 (pow.f64 re 4)))) (fma.f64 1/720 (*.f64 (fma.f64 360 (*.f64 (/.f64 re 1/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/8 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2)) (*.f64 re re))))) (+.f64 (*.f64 90 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (sqrt.f64 1/2))) 2)) re)) (/.f64 -15/256 (*.f64 (pow.f64 re 6) (pow.f64 (sqrt.f64 1/2) 6))))) (pow.f64 im 6)) (log.f64 im))) (*.f64 -1/8 (/.f64 (*.f64 im im) (*.f64 re re)))))
(+.f64 (fma.f64 (pow.f64 im 6) (fma.f64 (fma.f64 90 (/.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)) re) (*.f64 720 (*.f64 re (+.f64 (/.f64 (fma.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) -1/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))))))) 1/720 (/.f64 -1/1536 (pow.f64 re 6))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 24 (*.f64 re (-.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 -3/16 (pow.f64 re 4)))) (log.f64 im))) (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/2)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) 2)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2))) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (sqrt.f64 2)) (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))
(+.f64 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(+.f64 0 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4)) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4)))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(-.f64 (+.f64 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1)
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2)
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1)
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3) 1/3)
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 3)
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(sqrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(expm1.f64 (log1p.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(log1p.f64 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1))
(log1p.f64 (+.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) -1))
(exp.f64 (log.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))

localize15.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite41.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify37.0ms (0.5%)

Algorithm
egg-herbie
Rules
522×log-prod_binary64
412×associate-*l*_binary64
383×associate-*r*_binary64
314×fma-def_binary64
262×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083484
1192418
2609364
34020352
Stop Event
node limit
Counts
42 → 44
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 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 (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 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/4)))
(/.f64 im (pow.f64 re 1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/4)))
(/.f64 im (pow.f64 re 1/2))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (/.f64 im (/.f64 re im)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))

localize11.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite40.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify43.0ms (0.6%)

Algorithm
egg-herbie
Rules
1118×log-prod_binary64
496×distribute-rgt-in_binary64
488×distribute-lft-in_binary64
394×associate-*l*_binary64
332×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
040207
197207
2334161
32230161
47322161
Stop Event
node limit
Counts
23 → 13
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (*.f64 im (pow.f64 re -1/2))) 1)
(pow.f64 (*.f64 im (pow.f64 re -1/2)) 1)
(pow.f64 (pow.f64 (*.f64 im (pow.f64 re -1/2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (pow.f64 re -1/2))) 3)
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 re -1/4)) 2)
(sqrt.f64 (*.f64 (pow.f64 re -1) (*.f64 im im)))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))
(cbrt.f64 (pow.f64 (*.f64 im (pow.f64 re -1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (pow.f64 re -1/2))))
(log1p.f64 (expm1.f64 (*.f64 im (pow.f64 re -1/2))))
(exp.f64 (log.f64 (*.f64 im (pow.f64 re -1/2))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(-.f64 (+.f64 1 (*.f64 im (pow.f64 re -1/2))) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 im (pow.f64 re -1/2)) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (pow.f64 (*.f64 im (pow.f64 re -1/2)) 3) 1/3)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (cbrt.f64 (*.f64 im (pow.f64 re -1/2))) 3)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 re -1/4)) 2)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(sqrt.f64 (*.f64 (pow.f64 re -1) (*.f64 im im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(cbrt.f64 (pow.f64 (*.f64 im (pow.f64 re -1/2)) 3))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(expm1.f64 (log1p.f64 (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log1p.f64 (expm1.f64 (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (log.f64 (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
7.8b
(/.f64 (*.f64 im im) re)
21.1b
(sqrt.f64 (/.f64 (*.f64 im im) re))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite45.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
649×pow1_binary64
605×add-log-exp_binary64
605×log1p-expm1-u_binary64
605×expm1-log1p-u_binary64
588×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify54.0ms (0.7%)

Algorithm
egg-herbie
Rules
683×log-div_binary64
544×fma-def_binary64
472×associate-/l*_binary64
396×associate-*l/_binary64
386×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01531062
1357980
21433913
36390913
Stop Event
node limit
Counts
103 → 87
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)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 (/.f64 1 re) 1/2))
(*.f64 im (/.f64 1 (sqrt.f64 re)))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 1/2))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(pow.f64 (/.f64 im (/.f64 re im)) 1/2)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (+.f64 1 (/.f64 im (/.f64 re im))) 1)
(*.f64 im (/.f64 1 (/.f64 re im)))
(*.f64 im (*.f64 im (/.f64 1 re)))
(*.f64 (*.f64 im im) (/.f64 1 re))
(*.f64 (/.f64 im (/.f64 re im)) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 1 (/.f64 im (/.f64 re im)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 1 re)))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 im (neg.f64 im)) (/.f64 1 (neg.f64 re)))
(*.f64 (/.f64 1 re) (*.f64 im im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 (/.f64 im re) im)
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (/.f64 re im)))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(pow.f64 (/.f64 im (/.f64 re im)) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)
(pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(neg.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(log.f64 (exp.f64 (/.f64 im (/.f64 re im))))
(cbrt.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (/.f64 im (/.f64 re im))))
(log1p.f64 (expm1.f64 (/.f64 im (/.f64 re im))))
(exp.f64 (log.f64 (/.f64 im (/.f64 re im))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -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 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 (/.f64 1 re) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (/.f64 1 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(/.f64 im (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 1 (sqrt.f64 (/.f64 (/.f64 re im) im)))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (/.f64 re im)) 1/2)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(-.f64 (+.f64 1 (/.f64 im (/.f64 re im))) 1)
(*.f64 im (/.f64 im re))
(*.f64 im (/.f64 1 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 1 re)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im im) (/.f64 1 re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (/.f64 re im)) 1)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 1 (/.f64 im (/.f64 re im)))
(*.f64 im (/.f64 im re))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 1 re)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (/.f64 1 re) (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2))
(*.f64 im (/.f64 im re))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 im (/.f64 im re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im (neg.f64 im)) (/.f64 1 (neg.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 1 re) (*.f64 im im))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (/.f64 1 re) (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)))
(*.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (/.f64 1 re) (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (/.f64 re im)))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(pow.f64 (/.f64 im (/.f64 re im)) 1)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(fabs.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3) 1/3)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(*.f64 im (/.f64 im re))
(neg.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(*.f64 im (/.f64 im re))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(fabs.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (/.f64 im (/.f64 re im))))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 im (/.f64 re im)) 3))
(*.f64 im (/.f64 im re))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (/.f64 im (/.f64 re im))))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (/.f64 im (/.f64 re im))))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (/.f64 im (/.f64 re im))))
(*.f64 im (/.f64 im re))

localize19.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 51 to 32 computations (37.3% saved)

series2.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite51.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

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

simplify74.0ms (1%)

Algorithm
egg-herbie
Rules
850×fma-neg_binary64
470×associate-*l*_binary64
445×fma-def_binary64
435×associate-*r*_binary64
224×exp-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02441908
15741760
215251738
362201738
Stop Event
node limit
Counts
88 → 126
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(+.f64 1 (*.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(+.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1)
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(+.f64 -1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1))
(+.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(*.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (pow.f64 (*.f64 2 (-.f64 im re)) 1/6))
(*.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(*.f64 (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) (-.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))))
(/.f64 1 (/.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2) (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (-.f64 1 (*.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))
(/.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (neg.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (neg.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 2)) (-.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)))
(pow.f64 (*.f64 2 (-.f64 im re)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(pow.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4) 1/4)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) 3)
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 3/2)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)
(pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) -1)
(pow.f64 (/.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2) (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) -1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(hypot.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (sqrt.f64 (-.f64 (*.f64 2 (-.f64 im re)) (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(expm1.f64 (*.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 2 (-.f64 im re)))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3) 1/3))
(fma.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(fma.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1)
(fma.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1)
(fma.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1 0)
(fma.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 1 -1)
(fma.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 im re))) 0)
(fma.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 1) -1)
(fma.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) 0)
(fma.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 0)
(fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1)
(fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (*.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) -1)
(fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 0)
(fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 0)
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))) 0)
(fma.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2)) (/.f64 1 (-.f64 (+.f64 1 (*.f64 2 (-.f64 im re))) (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) 0)
(fma.f64 (+.f64 1 (*.f64 -2 (-.f64 im re))) (/.f64 1 (-.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 2) (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 1)
(fma.f64 (sqrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) (sqrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 1)
(fma.f64 (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) (-.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) 0)
(fma.f64 (+.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 1) (-.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 1) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) im) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) 1/2) (sqrt.f64 -1)) im)))
(+.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 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (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) im) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))) (fma.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)))) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))) (sqrt.f64 -1)) im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (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) im) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))) (fma.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)))) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))) (sqrt.f64 -1)) im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im 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)))
(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 -1/2 (*.f64 (sqrt.f64 2) re))))
(*.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 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/8 (sqrt.f64 2)) (*.f64 (*.f64 re re) (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 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/8 (sqrt.f64 2)) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(+.f64 1 (*.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1))
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(+.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(+.f64 -1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1))
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(+.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (pow.f64 (*.f64 2 (-.f64 im re)) 1/6))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))
(*.f64 (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) (-.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1))
(*.f64 (+.f64 1 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))) (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1))
(fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))))
(/.f64 1 (/.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2) (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (-.f64 1 (*.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))
(/.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (neg.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (neg.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1) 3)) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1) (-.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1) 1))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1) 3)) (fma.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re))) -2) 1))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 2)) (-.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1) 2)) (-.f64 1 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) -1) 2)) (-.f64 2 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))))
(pow.f64 (*.f64 2 (-.f64 im re)) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4) 1/4)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3) 1/6)
(pow.f64 (*.f64 8 (pow.f64 (-.f64 im re) 3)) 1/6)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) 3)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 3/2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) -1)
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))))
(pow.f64 (/.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2) (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) -1)
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(hypot.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (sqrt.f64 (-.f64 (*.f64 2 (-.f64 im re)) (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(expm1.f64 (*.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6)) 3))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 im re)))) 2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 2 (-.f64 im re)))) 1/3))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2) 1))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1) 1))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3) 1/3))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fma.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fma.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) -1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1) 1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fma.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 1 -1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fma.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) -1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) -1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1)) 1) -1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (pow.f64 (*.f64 2 (-.f64 im re)) 1/6) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fma.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1)
(*.f64 (+.f64 1 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))) (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1))
(fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (*.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) -1)
(*.f64 (+.f64 1 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))) (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1))
(fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1)
(fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 0)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 0)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))) 0)
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 1) 2) (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (*.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 1) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))))
(fma.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2)) (/.f64 1 (-.f64 (+.f64 1 (*.f64 2 (-.f64 im re))) (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)
(fma.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2)) (/.f64 1 (+.f64 1 (-.f64 (*.f64 2 (-.f64 im re)) (sqrt.f64 (*.f64 2 (-.f64 im re)))))) -1)
(fma.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2)) (/.f64 1 (-.f64 (fma.f64 2 (-.f64 im re) 1) (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)
(+.f64 -1 (/.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2)) (-.f64 (fma.f64 2 (-.f64 im re) 1) (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)) 0)
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (/.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)) 2))
(fma.f64 (+.f64 1 (*.f64 -2 (-.f64 im re))) (/.f64 1 (-.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)
(fma.f64 (+.f64 1 (*.f64 (-.f64 im re) -2)) (/.f64 1 (-.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)
(fma.f64 (fma.f64 (-.f64 im re) -2 1) (/.f64 1 (-.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))) -1)
(+.f64 -1 (/.f64 (fma.f64 (-.f64 im re) -2 1) (-.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 2) (cbrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (sqrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) (sqrt.f64 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1)) 1)
(+.f64 1 (fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2) -1))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(fma.f64 (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) (-.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1) 0)
(*.f64 (+.f64 1 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))) (+.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1))
(fma.f64 (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (hypot.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) -1)
(fma.f64 (+.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 1) (-.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 1) 1)
(fma.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (+.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) -1) 1)
(fma.f64 (+.f64 1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) (+.f64 -1 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4)) 1)

eval285.0ms (3.9%)

Compiler

Compiled 13939 to 10175 computations (27% saved)

prune139.0ms (1.9%)

Pruning

16 alts after pruning (8 fresh and 8 done)

PrunedKeptTotal
New5792581
Fresh066
Picked011
Done178
Total58016596
Error
0.0b
Counts
596 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
45.8b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
45.8b
(*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
37.1b
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
45.8b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (sqrt.f64 2)))
32.4b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
45.8b
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
17.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
14.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
31.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re)))))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
59.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 re))))
32.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
47.6b
(*.f64 1/2 (exp.f64 (+.f64 (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 im)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))))
18.1b
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2)))
Compiler

Compiled 317 to 247 computations (22.1% saved)

localize23.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (hypot.f64 re im) re)
0.2b
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
3.6b
(exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2))
Compiler

Compiled 63 to 30 computations (52.4% saved)

series15.0ms (0.2%)

Counts
2 → 32
Calls

12 calls:

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

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
495×log-prod_binary64
421×prod-diff_binary64
292×pow-prod-down_binary64
279×pow2_binary64
220×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify89.0ms (1.2%)

Algorithm
egg-herbie
Rules
664×times-frac_binary64
407×sqr-pow_binary64
268×fma-def_binary64
254×unswap-sqr_binary64
192×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05264326
113504214
242484103
Stop Event
node limit
Counts
165 → 251
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))))
(log.f64 (*.f64 2 im))
(+.f64 (log.f64 (*.f64 2 im)) (*.f64 -1 (/.f64 re im)))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (log.f64 (*.f64 2 im)) (*.f64 -1 (/.f64 re im))))
(+.f64 (*.f64 -3/40 (/.f64 (pow.f64 re 5) (pow.f64 im 5))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (log.f64 (*.f64 2 im)) (*.f64 -1 (/.f64 re im)))))
(+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))
(+.f64 (log.f64 (pow.f64 im 2)) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(+.f64 (log.f64 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))))))
(+.f64 (log.f64 (pow.f64 im 2)) (+.f64 (*.f64 1/720 (/.f64 (+.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 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))))
(+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 4) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (*.f64 1/720 (/.f64 (+.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 re 6)))))))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4))))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/720 (*.f64 (+.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)))) (pow.f64 im 6))) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4)))))))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (*.f64 -1 (/.f64 re im))))
(+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (*.f64 -1 (/.f64 re im)))))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))) (pow.f64 im 3))) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (*.f64 -1 (/.f64 re im))))))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))
(+.f64 (/.f64 re im) (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))
(+.f64 (/.f64 re im) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (/.f64 re im) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))) (pow.f64 im 3)))))))
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1)
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (pow.f64 (exp.f64 1) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6))))
(*.f64 (pow.f64 (exp.f64 1/2) (log.f64 2)) (pow.f64 (exp.f64 1/2) (log.f64 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (exp.f64 1/2) (log.f64 (-.f64 (hypot.f64 re im) re))) (pow.f64 (exp.f64 1/2) (log.f64 2)))
(*.f64 (pow.f64 (exp.f64 1/2) (*.f64 2 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (pow.f64 (exp.f64 1/2) (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 (pow.f64 (exp.f64 1/2) (*.f64 (log.f64 2) 1)) (pow.f64 (exp.f64 1/2) (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1)))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (pow.f64 (exp.f64 1) (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 (log.f64 2) 1/2)) (pow.f64 (exp.f64 1) (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1/2)))
(*.f64 (pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 2))) (pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))
(/.f64 (pow.f64 (exp.f64 1/2) (exp.f64 (log1p.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (exp.f64 1/2))
(/.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (pow.f64 (exp.f64 1) 1))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2) 1/3)
(pow.f64 (*.f64 4 (pow.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/4)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6) 3)
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3/2)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) 2)
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (*.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (*.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1))
(pow.f64 (pow.f64 (exp.f64 1) 1) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (pow.f64 (exp.f64 1/2) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)))
(pow.f64 (pow.f64 (exp.f64 1/2) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1/2) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1) 1/2) (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))
(pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)))) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) 1) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (cbrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 1/2))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 1/2)) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (sqrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) 1) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (cbrt.f64 1/2))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 1/2)) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (cbrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))) (cbrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(+.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 2) (log.f64 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) (log.f64 2))
(+.f64 0 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)))) (log.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))
(+.f64 (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/4)))
(+.f64 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 2 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(+.f64 (*.f64 (log.f64 2) 1) (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))
(+.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/4)) (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 5/6)) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6)))
(+.f64 (log.f64 (*.f64 2 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2))) (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re))))
(+.f64 (log.f64 (*.f64 2 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1)
(-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2)) (log.f64 (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))
(-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) 2)) (log.f64 (+.f64 re (hypot.f64 re im))))
(-.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)))) (log.f64 (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))
(-.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)))) (log.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 2 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(*.f64 1/2 (*.f64 2 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 1 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 3 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 1/3 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (pow.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 2) (*.f64 (log.f64 2) (log.f64 (-.f64 (hypot.f64 re im) re))))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 2)) (log.f64 (/.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(pow.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2) 1/2)
(pow.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3)
(pow.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2)
(sqrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))
(cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3))
(expm1.f64 (log1p.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log1p.f64 (fma.f64 2 (-.f64 (hypot.f64 re im) re) -1))
(exp.f64 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(exp.f64 (*.f64 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1) 1))
(fma.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 1/2 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 1 (log.f64 2) (log.f64 (-.f64 (hypot.f64 re im) re)))
(fma.f64 1 (log.f64 (-.f64 (hypot.f64 re im) re)) (log.f64 2))
(fma.f64 (log.f64 2) 1 (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))
(fma.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (log.f64 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) 2) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 2))
(fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (log.f64 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (sqrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 2))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (*.f64 1/2 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
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))))))
(-.f64 (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 (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 (*.f64 1/2 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2))) (/.f64 (sqrt.f64 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))) (-.f64 (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 (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 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (pow.f64 re 3)) (sqrt.f64 2))) (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 (*.f64 1/2 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2))) (/.f64 (sqrt.f64 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 (sqrt.f64 re) (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2))) (*.f64 (pow.f64 im 5) 1/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))))
(log.f64 (*.f64 2 im))
(+.f64 (log.f64 (*.f64 2 im)) (*.f64 -1 (/.f64 re im)))
(+.f64 (log.f64 (*.f64 2 im)) (neg.f64 (/.f64 re im)))
(-.f64 (log.f64 (*.f64 2 im)) (/.f64 re im))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (log.f64 (*.f64 2 im)) (*.f64 -1 (/.f64 re im))))
(fma.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3)) (+.f64 (log.f64 (*.f64 2 im)) (neg.f64 (/.f64 re im))))
(-.f64 (fma.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3)) (log.f64 (*.f64 2 im))) (/.f64 re im))
(+.f64 (*.f64 -3/40 (/.f64 (pow.f64 re 5) (pow.f64 im 5))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (log.f64 (*.f64 2 im)) (*.f64 -1 (/.f64 re im)))))
(fma.f64 -3/40 (/.f64 (pow.f64 re 5) (pow.f64 im 5)) (fma.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3)) (+.f64 (log.f64 (*.f64 2 im)) (neg.f64 (/.f64 re im)))))
(fma.f64 -3/40 (/.f64 (pow.f64 re 5) (pow.f64 im 5)) (-.f64 (fma.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3)) (log.f64 (*.f64 2 im))) (/.f64 re im)))
(+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))
(fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (log.f64 (pow.f64 im 2)) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(+.f64 (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))) (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re))))
(fma.f64 2 (log.f64 im) (-.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re))) (log.f64 re)))
(fma.f64 2 (log.f64 im) (fma.f64 -1/4 (/.f64 im (/.f64 (*.f64 re re) im)) (neg.f64 (log.f64 re))))
(+.f64 (log.f64 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))))))
(+.f64 (*.f64 2 (log.f64 im)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) 9/4) (pow.f64 re 4)) (+.f64 (neg.f64 (log.f64 re)) (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re))))))
(fma.f64 2 (log.f64 im) (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) 9/4)) (-.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re))) (log.f64 re))))
(fma.f64 2 (log.f64 im) (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) 9/4)) (fma.f64 -1/4 (/.f64 im (/.f64 (*.f64 re re) im)) (neg.f64 (log.f64 re)))))
(+.f64 (log.f64 (pow.f64 im 2)) (+.f64 (*.f64 1/720 (/.f64 (+.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 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))))
(+.f64 (*.f64 2 (log.f64 im)) (fma.f64 1/720 (/.f64 (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))) (pow.f64 re 6)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) 9/4) (pow.f64 re 4)) (+.f64 (neg.f64 (log.f64 re)) (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re)))))))
(fma.f64 2 (log.f64 im) (fma.f64 1/720 (/.f64 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (pow.f64 re 6)) (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) 9/4)) (-.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re))) (log.f64 re)))))
(fma.f64 2 (log.f64 im) (fma.f64 1/720 (/.f64 (+.f64 (*.f64 (/.f64 -720 im) (/.f64 (*.f64 (pow.f64 im 8) 5/64) im)) (*.f64 (pow.f64 im 6) 75/4)) (pow.f64 re 6)) (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) 9/4)) (fma.f64 -1/4 (/.f64 im (/.f64 (*.f64 re re) im)) (neg.f64 (log.f64 re))))))
(+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))
(+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))
(-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))
(fma.f64 1/4 (/.f64 (*.f64 im im) (*.f64 re re)) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re)))))
(-.f64 (fma.f64 (/.f64 (*.f64 im im) (*.f64 re re)) 1/4 (log.f64 4)) (log.f64 (/.f64 -1 re)))
(-.f64 (fma.f64 (/.f64 im (/.f64 (*.f64 re re) im)) 1/4 (log.f64 4)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(fma.f64 1/4 (/.f64 (*.f64 im im) (*.f64 re re)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) -9/4) (pow.f64 re 4)) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))))
(fma.f64 (/.f64 (*.f64 im im) (*.f64 re re)) 1/4 (-.f64 (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) -9/4)) (log.f64 4)) (log.f64 (/.f64 -1 re))))
(fma.f64 (/.f64 im (/.f64 (*.f64 re re) im)) 1/4 (-.f64 (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) -9/4)) (log.f64 4)) (log.f64 (/.f64 -1 re))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (log.f64 4) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (*.f64 1/720 (/.f64 (+.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 re 6)))))))
(fma.f64 1/4 (/.f64 (*.f64 im im) (*.f64 re re)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) -9/4) (pow.f64 re 4)) (+.f64 (log.f64 4) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (*.f64 1/720 (/.f64 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (pow.f64 re 6)))))))
(+.f64 (fma.f64 (/.f64 (*.f64 im im) (*.f64 re re)) 1/4 (-.f64 (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) -9/4)) (log.f64 4)) (log.f64 (/.f64 -1 re)))) (*.f64 1/720 (/.f64 (*.f64 (pow.f64 im 6) 75/2) (pow.f64 re 6))))
(+.f64 (fma.f64 (/.f64 im (/.f64 (*.f64 re re) im)) 1/4 (-.f64 (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) -9/4)) (log.f64 4)) (log.f64 (/.f64 -1 re)))) (*.f64 1/720 (/.f64 (*.f64 (pow.f64 im 6) 75/2) (pow.f64 re 6))))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))
(fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 (/.f64 1 re)) (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2)))))
(+.f64 (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))) (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re))))
(fma.f64 2 (log.f64 im) (-.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re))) (log.f64 re)))
(fma.f64 2 (log.f64 im) (fma.f64 -1/4 (/.f64 im (/.f64 (*.f64 re re) im)) (neg.f64 (log.f64 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4))))))
(+.f64 (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))) (fma.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4)))))
(fma.f64 2 (log.f64 im) (-.f64 (fma.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4)))) (log.f64 re)))
(fma.f64 2 (log.f64 im) (-.f64 (fma.f64 -1/4 (/.f64 im (/.f64 (*.f64 re re) im)) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4)))) (log.f64 re)))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/720 (*.f64 (+.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)))) (pow.f64 im 6))) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4)))))))
(+.f64 (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))) (fma.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (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)))) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4))))))
(fma.f64 2 (log.f64 im) (-.f64 (fma.f64 -1/4 (/.f64 (*.f64 im im) (*.f64 re re)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (+.f64 (fma.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) -720 (/.f64 -45 (pow.f64 re 6))) (/.f64 75/4 (pow.f64 re 6)))) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4))))) (log.f64 re)))
(fma.f64 2 (log.f64 im) (-.f64 (fma.f64 -1/4 (/.f64 im (/.f64 (*.f64 re re) im)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (+.f64 (*.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) -720) (*.f64 (/.f64 1 (pow.f64 re 6)) -105/4))) (*.f64 3/32 (/.f64 (pow.f64 im 4) (pow.f64 re 4))))) (log.f64 re)))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(log.f64 (*.f64 2 im))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (*.f64 -1 (/.f64 re im))))
(+.f64 (log.f64 (*.f64 2 im)) (neg.f64 (/.f64 re im)))
(-.f64 (log.f64 (*.f64 2 im)) (/.f64 re im))
(+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (*.f64 -1 (/.f64 re im)))))
(+.f64 (log.f64 (*.f64 2 im)) (neg.f64 (/.f64 re im)))
(-.f64 (log.f64 (*.f64 2 im)) (/.f64 re im))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))) (pow.f64 im 3))) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (*.f64 -1 (/.f64 re im))))))
(fma.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3)) (+.f64 (log.f64 (*.f64 2 im)) (neg.f64 (/.f64 re im))))
(-.f64 (fma.f64 1/6 (/.f64 (pow.f64 re 3) (pow.f64 im 3)) (log.f64 (*.f64 2 im))) (/.f64 re im))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))
(+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))
(-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))
(+.f64 (/.f64 re im) (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))
(+.f64 (+.f64 (/.f64 re im) (log.f64 2)) (neg.f64 (log.f64 (/.f64 -1 im))))
(+.f64 (/.f64 re im) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(+.f64 (/.f64 re im) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (+.f64 (/.f64 re im) (log.f64 2)) (neg.f64 (log.f64 (/.f64 -1 im))))
(+.f64 (/.f64 re im) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(+.f64 (/.f64 re im) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))) (pow.f64 im 3)))))))
(+.f64 (+.f64 (/.f64 re im) (log.f64 2)) (fma.f64 1/2 (/.f64 (*.f64 0 (*.f64 re re)) (*.f64 im im)) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 1) (pow.f64 im 3)) -1/6))))
(+.f64 (/.f64 re im) (+.f64 (-.f64 (/.f64 0 (*.f64 im im)) (log.f64 (/.f64 -1 im))) (+.f64 (/.f64 (*.f64 (pow.f64 re 3) -1/6) (pow.f64 im 3)) (log.f64 2))))
(+.f64 (/.f64 re im) (-.f64 (+.f64 (log.f64 2) (/.f64 (*.f64 (pow.f64 re 3) -1/6) (pow.f64 im 3))) (log.f64 (/.f64 -1 im))))
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/12) 6)
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/12) 6)
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (pow.f64 (exp.f64 1) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6))))
(*.f64 (pow.f64 (E.f64) (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (pow.f64 (E.f64) (*.f64 1/6 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 (pow.f64 (exp.f64 1/2) (log.f64 2)) (pow.f64 (exp.f64 1/2) (log.f64 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (exp.f64 1/2) (log.f64 (-.f64 (hypot.f64 re im) re))) (pow.f64 (exp.f64 1/2) (log.f64 2)))
(*.f64 (pow.f64 (exp.f64 1/2) (log.f64 2)) (pow.f64 (exp.f64 1/2) (log.f64 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (exp.f64 1/2) (*.f64 2 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (pow.f64 (exp.f64 1/2) (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 (pow.f64 (exp.f64 1/2) (*.f64 (log.f64 2) 1)) (pow.f64 (exp.f64 1/2) (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1)))
(*.f64 (pow.f64 (exp.f64 1/2) (log.f64 2)) (pow.f64 (exp.f64 1/2) (log.f64 (-.f64 (hypot.f64 re im) re))))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (pow.f64 (exp.f64 1) (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (E.f64) (*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 (log.f64 2) 1/2)) (pow.f64 (exp.f64 1) (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1/2)))
(*.f64 (pow.f64 (E.f64) (*.f64 1/2 (log.f64 2))) (pow.f64 (E.f64) (*.f64 1/2 (log.f64 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 2))) (pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (pow.f64 (E.f64) (log.f64 (sqrt.f64 2))) (pow.f64 (E.f64) (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))
(/.f64 (pow.f64 (exp.f64 1/2) (exp.f64 (log1p.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (exp.f64 1/2))
(/.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (pow.f64 (exp.f64 1) 1))
(/.f64 (pow.f64 (E.f64) (exp.f64 (log1p.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (E.f64))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(pow.f64 (*.f64 4 (pow.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/4)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3) 1/6)
(pow.f64 (*.f64 8 (pow.f64 (-.f64 (hypot.f64 re im) re) 3)) 1/6)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6) 3)
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/12) 6)
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3/2)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) 2)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (E.f64) (*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (*.f64 1/2 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (*.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (*.f64 1/2 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (*.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 1) 1) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (E.f64) (*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (pow.f64 (E.f64) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (*.f64 1/2 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2))
(pow.f64 (pow.f64 (E.f64) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (*.f64 1/2 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 1/2) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)))
(pow.f64 (pow.f64 (exp.f64 1/2) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1/2) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1) 1/2) (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (sqrt.f64 (E.f64)) (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))
(pow.f64 (pow.f64 (E.f64) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))
(pow.f64 (exp.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))
(pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)))) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (E.f64) (*.f64 1/2 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)))) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (E.f64) (*.f64 1/2 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) 1) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (cbrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 1/2))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 1/2)) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (sqrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (fabs.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) 1) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (cbrt.f64 1/2))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 1/2)) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (cbrt.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))) (cbrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (sqrt.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 0)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 2) (log.f64 (-.f64 (hypot.f64 re im) re)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) (log.f64 2))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 0 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)))) (log.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))
(fma.f64 2 (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 (*.f64 2 (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 2) (*.f64 3 (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 3 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/4)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 2 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(*.f64 3 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (*.f64 (log.f64 2) 1) (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/4)) (*.f64 1/4 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 5/6)) (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (*.f64 2 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2))) (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re))))
(fma.f64 2 (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 (*.f64 2 (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 2) (*.f64 3 (log.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))
(+.f64 (log.f64 (*.f64 2 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2)) (log.f64 (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))
(-.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)))) (log.f64 (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))
(-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) 2)) (log.f64 (+.f64 re (hypot.f64 re im))))
(-.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)))) (log.f64 (+.f64 re (hypot.f64 re im))))
(-.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)))) (log.f64 (fma.f64 re (+.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))
(-.f64 (log.f64 (*.f64 2 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)))) (log.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 2 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 1/2 (*.f64 2 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 1 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 3 (log.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 1/3 (log.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (pow.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 2) (*.f64 (log.f64 2) (log.f64 (-.f64 (hypot.f64 re im) re))))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) (-.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) (log.f64 2)))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 2)) (log.f64 (/.f64 2 (-.f64 (hypot.f64 re im) re))))
(pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2) 1/2)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3) 1/3)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 3)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 2)
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(sqrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(expm1.f64 (log1p.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log1p.f64 (fma.f64 2 (-.f64 (hypot.f64 re im) re) -1))
(exp.f64 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 1/3))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 3))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1) 1))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 1/2 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 1 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 1 (log.f64 2) (log.f64 (-.f64 (hypot.f64 re im) re)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 1 (log.f64 (-.f64 (hypot.f64 re im) re)) (log.f64 2))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (log.f64 2) 1 (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (*.f64 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (*.f64 1/2 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) 1/2) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (log.f64 (-.f64 (hypot.f64 re im) re)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) 2) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 2))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (log.f64 (-.f64 (hypot.f64 re im) re)))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (sqrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (log.f64 (-.f64 (hypot.f64 re im) re))) (log.f64 2))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2))) (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (cbrt.f64 (pow.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (*.f64 1/2 (cbrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(fma.f64 (*.f64 1/2 (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) (sqrt.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))

localize25.0ms (0.3%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 26 to 12 computations (53.8% saved)

series5.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

rewrite80.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
690×pow1_binary64
640×add-log-exp_binary64
640×log1p-expm1-u_binary64
640×expm1-log1p-u_binary64
623×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify55.0ms (0.7%)

Algorithm
egg-herbie
Rules
690×log-div_binary64
666×fma-def_binary64
475×fma-neg_binary64
428×associate-*l/_binary64
394×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0162873
1387780
21368702
36724702
Stop Event
node limit
Counts
91 → 80
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 2) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 re)) im)))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (pow.f64 re -1/2) (pow.f64 (/.f64 1 im) -1))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) -1) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) -1) (pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) -1))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 re 1/4)) (/.f64 (sqrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 re))) (neg.f64 im))
(*.f64 (*.f64 (pow.f64 re -1/2) 1) im)
(*.f64 (*.f64 (pow.f64 re -1/2) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(*.f64 (*.f64 (pow.f64 re -1/2) (sqrt.f64 im)) (sqrt.f64 im))
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) -2))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (+.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(*.f64 1 (/.f64 (sqrt.f64 re) im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (/.f64 (sqrt.f64 re) im) 1)
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) (cbrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 (sqrt.f64 re)) (/.f64 1 im)))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) (sqrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (pow.f64 re 1/4) (*.f64 (pow.f64 re 1/4) (/.f64 1 im)))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 1 (neg.f64 im)))
(*.f64 (/.f64 1 im) (sqrt.f64 re))
(*.f64 (/.f64 (cbrt.f64 re) 1) (/.f64 (cbrt.f64 (sqrt.f64 re)) im))
(*.f64 (/.f64 (pow.f64 re 1/4) 1) (/.f64 (pow.f64 re 1/4) im))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 im) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 (pow.f64 re 1/4) (pow.f64 (cbrt.f64 im) 2)) (/.f64 (pow.f64 re 1/4) (cbrt.f64 im)))
(*.f64 (/.f64 1 (sqrt.f64 im)) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 re) (sqrt.f64 im)) (/.f64 (cbrt.f64 (sqrt.f64 re)) (sqrt.f64 im)))
(pow.f64 (/.f64 (sqrt.f64 re) im) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) -1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) 3)
(pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) 2)
(neg.f64 (/.f64 (sqrt.f64 re) (neg.f64 im)))
(sqrt.f64 (/.f64 re (*.f64 im im)))
(log.f64 (exp.f64 (/.f64 (sqrt.f64 re) im)))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 3))
(cbrt.f64 (/.f64 (pow.f64 re 3/2) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 re) im)))
(log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 re) im)))
(exp.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 2))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 2) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 re)) im)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) (pow.f64 (/.f64 1 im) -1))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) -1) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) -1))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 re (*.f64 im im)))) (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))))
(/.f64 (/.f64 1 (cbrt.f64 (/.f64 re (*.f64 im im)))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) -1) (pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) -1))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 re 1/4)) (/.f64 (sqrt.f64 im) (pow.f64 re 1/4)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 re))) (neg.f64 im))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (*.f64 (pow.f64 re -1/2) 1) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (*.f64 (pow.f64 re -1/2) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (*.f64 (pow.f64 re -1/2) (sqrt.f64 im)) (sqrt.f64 im))
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) -2))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(-.f64 (+.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(/.f64 (sqrt.f64 re) im)
(*.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 (sqrt.f64 re) im) 1)
(/.f64 (sqrt.f64 re) im)
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) (cbrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 (sqrt.f64 re)) (/.f64 1 im)))
(*.f64 (cbrt.f64 re) (*.f64 (/.f64 1 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 re) (/.f64 (cbrt.f64 (sqrt.f64 re)) im))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) (sqrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (sqrt.f64 re) im)
(*.f64 (pow.f64 re 1/4) (*.f64 (pow.f64 re 1/4) (/.f64 1 im)))
(/.f64 (sqrt.f64 re) im)
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 1 (neg.f64 im)))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 1 im) (sqrt.f64 re))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 (cbrt.f64 re) 1) (/.f64 (cbrt.f64 (sqrt.f64 re)) im))
(*.f64 (cbrt.f64 re) (*.f64 (/.f64 1 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 re) (/.f64 (cbrt.f64 (sqrt.f64 re)) im))
(*.f64 (/.f64 (pow.f64 re 1/4) 1) (/.f64 (pow.f64 re 1/4) im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 im) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) (/.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 im) 2)))
(/.f64 (cbrt.f64 re) (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 (pow.f64 re 1/4) (pow.f64 (cbrt.f64 im) 2)) (/.f64 (pow.f64 re 1/4) (cbrt.f64 im)))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 1 (sqrt.f64 im)) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 (cbrt.f64 re) (sqrt.f64 im)) (/.f64 (cbrt.f64 (sqrt.f64 re)) (sqrt.f64 im)))
(*.f64 (cbrt.f64 re) (*.f64 (/.f64 1 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 re) (/.f64 (cbrt.f64 (sqrt.f64 re)) im))
(pow.f64 (/.f64 (sqrt.f64 re) im) 1)
(/.f64 (sqrt.f64 re) im)
(pow.f64 (/.f64 im (sqrt.f64 re)) -1)
(/.f64 (sqrt.f64 re) im)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 3) 1/3)
(/.f64 (sqrt.f64 re) im)
(pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) 3)
(/.f64 (sqrt.f64 re) im)
(pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 re) im)) 2)
(/.f64 (sqrt.f64 re) im)
(neg.f64 (/.f64 (sqrt.f64 re) (neg.f64 im)))
(/.f64 (sqrt.f64 re) im)
(sqrt.f64 (/.f64 re (*.f64 im im)))
(log.f64 (exp.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (sqrt.f64 re) im)
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) 3))
(/.f64 (sqrt.f64 re) im)
(cbrt.f64 (/.f64 (pow.f64 re 3/2) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (sqrt.f64 re) im)
(log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (sqrt.f64 re) im)
(exp.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (sqrt.f64 re) im)

localize21.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 41 to 31 computations (24.4% saved)

series6.0ms (0.1%)

Counts
3 → 24
Calls

15 calls:

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

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
928×pow1_binary64
859×add-log-exp_binary64
859×log1p-expm1-u_binary64
859×expm1-log1p-u_binary64
840×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (0.8%)

Algorithm
egg-herbie
Rules
791×fma-def_binary64
528×log-prod_binary64
446×fma-neg_binary64
339×unswap-sqr_binary64
322×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01341218
12881077
21045950
33664935
47402935
Stop Event
node limit
Counts
81 → 89
Calls
Call 1
Inputs
(*.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 (*.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 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 (*.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 1 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2))) 1)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))) 2)
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im))))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) (*.f64 im (sqrt.f64 2))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 1)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 2)
(sqrt.f64 (*.f64 (/.f64 1/2 re) (*.f64 im im)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 3/2) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1/2 re) 3/2)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(-.f64 (+.f64 1 (sqrt.f64 (/.f64 1/2 re))) 1)
(*.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 1/2 re)))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 re))) (cbrt.f64 (/.f64 1/2 re)))
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 re))))
(*.f64 (pow.f64 (/.f64 1/2 re) 1/4) (pow.f64 (/.f64 1/2 re) 1/4))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 1 re) 1/2))
(*.f64 (sqrt.f64 1/2) (/.f64 1 (sqrt.f64 re)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 1/2 re))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 1/2 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 1/2))
(/.f64 1 (sqrt.f64 (*.f64 re 2)))
(/.f64 1 (/.f64 (sqrt.f64 re) (sqrt.f64 1/2)))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 re))
(/.f64 (sqrt.f64 -1/2) (sqrt.f64 (neg.f64 re)))
(/.f64 (neg.f64 (sqrt.f64 1/2)) (neg.f64 (sqrt.f64 re)))
(pow.f64 (/.f64 1/2 re) 1/2)
(pow.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(pow.f64 (pow.f64 (/.f64 1/2 re) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 re))) 3)
(pow.f64 (pow.f64 (/.f64 1/2 re) 1/4) 2)
(fabs.f64 (sqrt.f64 (/.f64 1/2 re)))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 1/2 re))))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 1/2 re))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))) 1)
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re))
(/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 2) im)))
(*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) im))
(*.f64 (*.f64 (sqrt.f64 2) im) (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)))
(*.f64 im (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) (sqrt.f64 2)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2))) 1)
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2))) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))) 3)
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))) 2)
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im))))
(sqrt.f64 (*.f64 (/.f64 1 re) (*.f64 im im)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) (*.f64 im (sqrt.f64 2))))
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2))) 3))
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3) (*.f64 2 (sqrt.f64 2))))
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3)))
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))))
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))))
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 im (sqrt.f64 2)))))
(+.f64 1 (-.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) (*.f64 (sqrt.f64 2) im)) 1))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 0)
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 1)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 re) im))
(*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) im)
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re))
(/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 re) im))
(*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) im)
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 1)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 3)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 2)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(sqrt.f64 (*.f64 (/.f64 1/2 re) (*.f64 im im)))
(sqrt.f64 (*.f64 im (/.f64 1/2 (/.f64 re im))))
(fabs.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 re) 3/2) (pow.f64 im 3)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1/2 re) 3/2)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(-.f64 (+.f64 1 (sqrt.f64 (/.f64 1/2 re))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(*.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(*.f64 1 (sqrt.f64 (/.f64 1/2 re)))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 re))) (cbrt.f64 (/.f64 1/2 re)))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 re))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(*.f64 (pow.f64 (/.f64 1/2 re) 1/4) (pow.f64 (/.f64 1/2 re) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 1 re) 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 re))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 1/2 re))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 1/2 re))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 re))))
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (sqrt.f64 (cbrt.f64 (/.f64 1/2 re))))
(pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3/2)
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 1/2 re)))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 1/2 re))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 1/2 re))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 re))))
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (sqrt.f64 (cbrt.f64 (/.f64 1/2 re))))
(pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3/2)
(/.f64 1 (sqrt.f64 (*.f64 re 2)))
(/.f64 1 (sqrt.f64 (*.f64 2 re)))
(/.f64 1 (/.f64 (sqrt.f64 re) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 re))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 re))
(*.f64 (sqrt.f64 1/2) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 -1/2) (sqrt.f64 (neg.f64 re)))
(/.f64 (neg.f64 (sqrt.f64 1/2)) (neg.f64 (sqrt.f64 re)))
(*.f64 (sqrt.f64 1/2) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 re))
(pow.f64 (/.f64 1/2 re) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (pow.f64 (/.f64 1/2 re) 3/2) 1/3)
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 re))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (pow.f64 (/.f64 1/2 re) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(fabs.f64 (sqrt.f64 (/.f64 1/2 re)))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 1/2 re))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 1/2 re))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 1/2 re)) 1))
(+.f64 (sqrt.f64 (/.f64 1/2 re)) 0)
(sqrt.f64 (/.f64 1/2 re))

localize55.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 im re) (/.f64 im re))
0.2b
(*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))
0.2b
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
1.4b
(exp.f64 (+.f64 (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 im)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))
Compiler

Compiled 143 to 88 computations (38.5% saved)

series15.0ms (0.2%)

Counts
4 → 40
Calls

18 calls:

TimeVariablePointExpression
2.0ms
im
@0
(*.f64 (/.f64 im re) (/.f64 im re))
2.0ms
re
@inf
(exp.f64 (+.f64 (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 im)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))
2.0ms
re
@-inf
(exp.f64 (+.f64 (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 im)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))
2.0ms
im
@0
(exp.f64 (+.f64 (fma.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re)) (log.f64 im)) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))
1.0ms
re
@-inf
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
608×prod-diff_binary64
307×expm1-udef_binary64
307×log1p-udef_binary64
291×fma-def_binary64
271×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify66.0ms (0.9%)

Algorithm
egg-herbie
Rules
684×unswap-sqr_binary64
614×associate-/r*_binary64
238×distribute-rgt-in_binary64
235×distribute-lft-in_binary64
218×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02682148
16142055
222622002
Stop Event
node limit
Counts
145 → 137
Calls
Call 1
Inputs
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im)))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im)))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/3072 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 6)) (pow.f64 re 6))) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))))) 1)
(*.f64 1 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 1)
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (pow.f64 re -1/2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 2)) (cbrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) (sqrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 2 re)))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) 1) (pow.f64 re -1/2))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 (/.f64 2 re))) (sqrt.f64 1/2))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (/.f64 1 (cbrt.f64 re))) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 (pow.f64 re -1/2))) (sqrt.f64 (pow.f64 re -1/2)))
(pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 1)
(pow.f64 (E.f64) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(pow.f64 (exp.f64 (*.f64 3 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) 3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))) 2))) (cbrt.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))) (sqrt.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2))))))
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) (pow.f64 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))))))
(cbrt.f64 (exp.f64 (*.f64 3 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -1/2))) 1)
(/.f64 1 (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) 1))
(/.f64 -1 (neg.f64 (sqrt.f64 re)))
(/.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (/.f64 1 re) 1/2)
(pow.f64 (pow.f64 re -1/2) 1)
(pow.f64 (E.f64) (*.f64 -1/2 (log.f64 re)))
(pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3)
(pow.f64 (cbrt.f64 (pow.f64 re -1/2)) 3)
(pow.f64 (sqrt.f64 (pow.f64 re -1/2)) 2)
(pow.f64 (sqrt.f64 re) -1)
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (log.f64 re)))) (sqrt.f64 (*.f64 -1/2 (log.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (log.f64 re))) 2)) (cbrt.f64 (*.f64 -1/2 (log.f64 re))))
(sqrt.f64 (/.f64 1 re))
(fabs.f64 (pow.f64 re -1/2))
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -1/2))))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) re))
(cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (sqrt.f64 (/.f64 2 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (/.f64 2 re)) 3) (*.f64 1/2 (sqrt.f64 1/2))))
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
(exp.f64 (*.f64 -1/2 (log.f64 re)))
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 2 re)))) 1)
(/.f64 (sqrt.f64 2) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 2 re)) 1)
(pow.f64 (pow.f64 (sqrt.f64 (/.f64 2 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 2 re))) 3)
(pow.f64 (sqrt.f64 (sqrt.f64 (/.f64 2 re))) 2)
(pow.f64 (/.f64 2 re) 1/2)
(sqrt.f64 (/.f64 2 re))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 2 re))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 2 re)))))
(cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 2 re)) 3))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (*.f64 2 (sqrt.f64 2))))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 2 re))))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 2 re))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 2 re))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 2 re))) 1))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 im re) 2))) 1)
(/.f64 im (*.f64 (/.f64 re im) re))
(/.f64 im (*.f64 re (/.f64 re im)))
(/.f64 im (/.f64 (*.f64 re re) im))
(/.f64 im (/.f64 re (/.f64 im re)))
(/.f64 (/.f64 im re) (/.f64 re im))
(/.f64 1 (*.f64 (/.f64 re im) (/.f64 re im)))
(/.f64 1 (/.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 1 (/.f64 re (*.f64 im (/.f64 im re))))
(/.f64 (*.f64 im im) (*.f64 re re))
(/.f64 (neg.f64 im) (*.f64 (/.f64 re im) (neg.f64 re)))
(/.f64 (*.f64 im (/.f64 im re)) re)
(/.f64 (*.f64 (neg.f64 im) (neg.f64 im)) (*.f64 (neg.f64 re) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 im im)) (neg.f64 (*.f64 re re)))
(/.f64 (neg.f64 (*.f64 im (/.f64 im re))) (neg.f64 re))
(/.f64 (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 re) re))
(/.f64 (*.f64 (neg.f64 im) 1) (*.f64 (neg.f64 re) (/.f64 re im)))
(/.f64 (*.f64 im (neg.f64 im)) (*.f64 re (neg.f64 re)))
(/.f64 (/.f64 (*.f64 im (/.f64 im re)) 1) re)
(/.f64 (/.f64 (*.f64 im (/.f64 im re)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (/.f64 (*.f64 im (/.f64 im re)) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (*.f64 (neg.f64 im) (/.f64 im re)) (neg.f64 re))
(/.f64 (*.f64 (/.f64 im re) (neg.f64 im)) (neg.f64 re))
(pow.f64 (/.f64 im re) 2)
(pow.f64 (pow.f64 (/.f64 im re) 2) 1)
(pow.f64 (pow.f64 (pow.f64 (/.f64 im re) 2) 3) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 im re)) 2) 3)
(sqrt.f64 (pow.f64 (/.f64 im re) 4))
(log.f64 (exp.f64 (pow.f64 (/.f64 im re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 im re) 2))))
(cbrt.f64 (pow.f64 (pow.f64 (/.f64 im re) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (/.f64 im re) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (/.f64 im re) 2)))
(exp.f64 (*.f64 2 (log.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (/.f64 im re)) 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 im re))) 1))
Outputs
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im)))
(*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2)))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))))
(fma.f64 -1/8 (/.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (*.f64 (/.f64 re im) (/.f64 re im))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))))
(fma.f64 -1/8 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (pow.f64 im 3)) (*.f64 re re)) (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/8 (*.f64 (pow.f64 (/.f64 im re) 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im)))))
(fma.f64 -1/8 (/.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (*.f64 (/.f64 re im) (/.f64 re im))) (fma.f64 1/128 (/.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im)))))
(fma.f64 -1/8 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (pow.f64 im 3)) (*.f64 re re)) (fma.f64 1/128 (/.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 im (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))) (fma.f64 1/128 (*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2))) (pow.f64 re 4)) (pow.f64 im 4)) (*.f64 -1/8 (*.f64 (pow.f64 (/.f64 im re) 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2)))))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/3072 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 6)) (pow.f64 re 6))) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))))))
(fma.f64 -1/8 (/.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (*.f64 (/.f64 re im) (/.f64 re im))) (fma.f64 -1/3072 (/.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (/.f64 (pow.f64 re 6) (pow.f64 im 6))) (fma.f64 1/128 (/.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (log.f64 im))))))
(fma.f64 -1/8 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (pow.f64 im 3)) (*.f64 re re)) (fma.f64 -1/3072 (/.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (/.f64 (pow.f64 re 6) (pow.f64 im 6))) (fma.f64 1/128 (/.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/8 (*.f64 (pow.f64 (/.f64 im re) 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2)))) (fma.f64 im (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))) (fma.f64 1/128 (*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2))) (pow.f64 re 4)) (pow.f64 im 4)) (*.f64 -1/3072 (*.f64 (pow.f64 (/.f64 im re) 6) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 im (pow.f64 re -1/2))))))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 2) (pow.f64 re 2)) (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 re -1/2))))
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(/.f64 (pow.f64 im 2) (pow.f64 re 2))
(pow.f64 (/.f64 im re) 2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))))) 1)
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(*.f64 1 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(*.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 1)
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 2)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 2)) (cbrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 2)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im)) 2)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) (sqrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 2 re)))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 2 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (sqrt.f64 (/.f64 2 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 (/.f64 2 re))))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) 1) (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 (/.f64 2 re))) (sqrt.f64 1/2))
(*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 2 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (sqrt.f64 (/.f64 2 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 (/.f64 2 re))))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (/.f64 1 (cbrt.f64 re))) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (/.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (cbrt.f64 re)) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (/.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (cbrt.f64 re)) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (*.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))) (sqrt.f64 (pow.f64 re -1/2))) (sqrt.f64 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 1)
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(pow.f64 (E.f64) (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(pow.f64 (exp.f64 (*.f64 3 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))) 1/3)
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) 3)
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))) 2)
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))) 2))) (cbrt.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))) (sqrt.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2))))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) 2))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(log.f64 (pow.f64 (exp.f64 (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))) (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im)))))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(cbrt.f64 (exp.f64 (*.f64 3 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 (*.f64 im (pow.f64 re -1/2)))))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))))
(*.f64 (pow.f64 re -1/2) (exp.f64 (fma.f64 -1/8 (pow.f64 (/.f64 im re) 2) (log.f64 im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -1/2))) 1)
(pow.f64 re -1/2)
(/.f64 1 (sqrt.f64 re))
(pow.f64 re -1/2)
(/.f64 1 (/.f64 (sqrt.f64 re) 1))
(pow.f64 re -1/2)
(/.f64 -1 (neg.f64 (sqrt.f64 re)))
(pow.f64 re -1/2)
(/.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (/.f64 1 re) 1/2)
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re -1/2) 1)
(pow.f64 re -1/2)
(pow.f64 (E.f64) (*.f64 -1/2 (log.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3)
(cbrt.f64 (/.f64 (pow.f64 re -1/2) re))
(pow.f64 (cbrt.f64 (pow.f64 re -1/2)) 3)
(pow.f64 re -1/2)
(pow.f64 (sqrt.f64 (pow.f64 re -1/2)) 2)
(pow.f64 re -1/2)
(pow.f64 (sqrt.f64 re) -1)
(pow.f64 re -1/2)
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (log.f64 re)))) (sqrt.f64 (*.f64 -1/2 (log.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (log.f64 re))) 2)) (cbrt.f64 (*.f64 -1/2 (log.f64 re))))
(sqrt.f64 (/.f64 1 re))
(pow.f64 re -1/2)
(fabs.f64 (pow.f64 re -1/2))
(pow.f64 re -1/2)
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -1/2))))
(pow.f64 re -1/2)
(cbrt.f64 (/.f64 (pow.f64 re -1/2) re))
(cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (sqrt.f64 (/.f64 2 re)) 3)))
(cbrt.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 (sqrt.f64 (/.f64 2 re)) 3))))
(cbrt.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 2 re) 3/2))))
(cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (/.f64 2 re)) 3) (*.f64 1/2 (sqrt.f64 1/2))))
(cbrt.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 (sqrt.f64 (/.f64 2 re)) 3))))
(cbrt.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 2 re) 3/2))))
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(exp.f64 (*.f64 -1/2 (log.f64 re)))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(pow.f64 re -1/2)
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 2 re)))) 1)
(sqrt.f64 (/.f64 2 re))
(/.f64 (sqrt.f64 2) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 2 re)) 1)
(sqrt.f64 (/.f64 2 re))
(pow.f64 (pow.f64 (sqrt.f64 (/.f64 2 re)) 3) 1/3)
(sqrt.f64 (/.f64 2 re))
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 2 re))) 3)
(sqrt.f64 (/.f64 2 re))
(pow.f64 (sqrt.f64 (sqrt.f64 (/.f64 2 re))) 2)
(sqrt.f64 (/.f64 2 re))
(pow.f64 (/.f64 2 re) 1/2)
(sqrt.f64 (/.f64 2 re))
(sqrt.f64 (/.f64 2 re))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 2 re))))
(sqrt.f64 (/.f64 2 re))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 2 re)))))
(sqrt.f64 (/.f64 2 re))
(cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 2 re)) 3))
(sqrt.f64 (/.f64 2 re))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 re -1/2) re))))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) (/.f64 re (*.f64 2 (sqrt.f64 2)))))
(cbrt.f64 (/.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 re))))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 re -1/2) re))))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) (/.f64 re (*.f64 2 (sqrt.f64 2)))))
(cbrt.f64 (/.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 re))))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 2 re))))
(sqrt.f64 (/.f64 2 re))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 2 re))))
(sqrt.f64 (/.f64 2 re))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 2 re))))
(sqrt.f64 (/.f64 2 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 2 re))) 1))
(sqrt.f64 (/.f64 2 re))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 im re) 2))) 1)
(pow.f64 (/.f64 im re) 2)
(/.f64 im (*.f64 (/.f64 re im) re))
(pow.f64 (/.f64 im re) 2)
(/.f64 im (*.f64 re (/.f64 re im)))
(pow.f64 (/.f64 im re) 2)
(/.f64 im (/.f64 (*.f64 re re) im))
(pow.f64 (/.f64 im re) 2)
(/.f64 im (/.f64 re (/.f64 im re)))
(pow.f64 (/.f64 im re) 2)
(/.f64 (/.f64 im re) (/.f64 re im))
(pow.f64 (/.f64 im re) 2)
(/.f64 1 (*.f64 (/.f64 re im) (/.f64 re im)))
(pow.f64 (/.f64 im re) 2)
(/.f64 1 (/.f64 (*.f64 re re) (*.f64 im im)))
(pow.f64 (/.f64 im re) 2)
(/.f64 1 (/.f64 re (*.f64 im (/.f64 im re))))
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 im im) (*.f64 re re))
(pow.f64 (/.f64 im re) 2)
(/.f64 (neg.f64 im) (*.f64 (/.f64 re im) (neg.f64 re)))
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 im (/.f64 im re)) re)
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 (neg.f64 im) (neg.f64 im)) (*.f64 (neg.f64 re) (neg.f64 re)))
(pow.f64 (/.f64 im re) 2)
(/.f64 (neg.f64 (*.f64 im im)) (neg.f64 (*.f64 re re)))
(pow.f64 (/.f64 im re) 2)
(/.f64 (neg.f64 (*.f64 im (/.f64 im re))) (neg.f64 re))
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 re) re))
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 (neg.f64 im) 1) (*.f64 (neg.f64 re) (/.f64 re im)))
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 im (neg.f64 im)) (*.f64 re (neg.f64 re)))
(pow.f64 (/.f64 im re) 2)
(/.f64 (/.f64 (*.f64 im (/.f64 im re)) 1) re)
(pow.f64 (/.f64 im re) 2)
(/.f64 (/.f64 (*.f64 im (/.f64 im re)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(pow.f64 (/.f64 im re) 2)
(/.f64 (/.f64 (*.f64 im (/.f64 im re)) (sqrt.f64 re)) (sqrt.f64 re))
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 (neg.f64 im) (/.f64 im re)) (neg.f64 re))
(pow.f64 (/.f64 im re) 2)
(/.f64 (*.f64 (/.f64 im re) (neg.f64 im)) (neg.f64 re))
(pow.f64 (/.f64 im re) 2)
(pow.f64 (/.f64 im re) 2)
(pow.f64 (pow.f64 (/.f64 im re) 2) 1)
(pow.f64 (/.f64 im re) 2)
(pow.f64 (pow.f64 (pow.f64 (/.f64 im re) 2) 3) 1/3)
(pow.f64 (/.f64 im re) 2)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 im re)) 2) 3)
(pow.f64 (/.f64 im re) 2)
(sqrt.f64 (pow.f64 (/.f64 im re) 4))
(pow.f64 (/.f64 im re) 2)
(log.f64 (exp.f64 (pow.f64 (/.f64 im re) 2)))
(pow.f64 (/.f64 im re) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 im re) 2))))
(pow.f64 (/.f64 im re) 2)
(cbrt.f64 (pow.f64 (pow.f64 (/.f64 im re) 2) 3))
(pow.f64 (/.f64 im re) 2)
(expm1.f64 (log1p.f64 (pow.f64 (/.f64 im re) 2)))
(pow.f64 (/.f64 im re) 2)
(log1p.f64 (expm1.f64 (pow.f64 (/.f64 im re) 2)))
(pow.f64 (/.f64 im re) 2)
(exp.f64 (*.f64 2 (log.f64 (/.f64 im re))))
(pow.f64 (/.f64 im re) 2)
(exp.f64 (*.f64 (log.f64 (/.f64 im re)) 2))
(pow.f64 (/.f64 im re) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 im re))) 1))
(pow.f64 (/.f64 im re) 2)

eval346.0ms (4.7%)

Compiler

Compiled 14934 to 10231 computations (31.5% saved)

prune194.0ms (2.6%)

Pruning

16 alts after pruning (5 fresh and 11 done)

PrunedKeptTotal
New6473650
Fresh123
Picked101
Done11112
Total65016666
Error
0.0b
Counts
666 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
15.2b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3/2))
45.8b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
45.8b
(*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
37.1b
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
46.1b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im)))
45.8b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) (sqrt.f64 2)))
32.4b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
46.2b
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (exp.f64 (*.f64 -1/8 (pow.f64 (/.f64 im re) 2))) im) (sqrt.f64 (/.f64 2 re)))))
45.8b
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
14.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
31.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
59.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 re))))
32.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
18.1b
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 1/2)))
Compiler

Compiled 191 to 155 computations (18.8% saved)

regimes453.0ms (6.1%)

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

7 calls:

273.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
61.0ms
im
38.0ms
re
22.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
20.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
6.7b2re
12.0b5im
5.9b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
5.9b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
5.9b3(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
5.9b3(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
13.2b3(*.f64 im im)
Compiler

Compiled 376 to 256 computations (31.9% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
4.340735065558021e-119
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes142.0ms (1.9%)

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

3 calls:

56.0ms
(*.f64 im im)
54.0ms
re
28.0ms
im
Results
ErrorSegmentsBranch
11.9b5re
23.1b4im
23.1b4(*.f64 im im)
Compiler

Compiled 121 to 87 computations (28.1% saved)

bsearch98.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
1.1921246032244921e+20
5.667968199211385e+21
19.0ms
-0.01840602823874766
-8.315820444779546e-7
25.0ms
-3.937421444192546e+41
-5.403971680229515e+39
21.0ms
-1.284876679163655e+101
-9.025140311403793e+91
Results
66.0ms431×body256valid
13.0ms33×body2048valid
5.0ms10×body4096valid
4.0ms13×body1024valid
2.0msbody512valid
Compiler

Compiled 665 to 575 computations (13.5% saved)

regimes44.0ms (0.6%)

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

2 calls:

22.0ms
re
19.0ms
im
Results
ErrorSegmentsBranch
12.3b5re
23.6b4im
Compiler

Compiled 42 to 33 computations (21.4% saved)

bsearch89.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
1.1921246032244921e+20
5.667968199211385e+21
16.0ms
-3.6844330521586856e-8
-2.1389963235034002e-10
18.0ms
-3.937421444192546e+41
-5.403971680229515e+39
21.0ms
-1.284876679163655e+101
-9.025140311403793e+91
Results
62.0ms425×body256valid
10.0ms26×body2048valid
4.0msbody4096valid
3.0ms13×body512valid
3.0msbody1024valid
Compiler

Compiled 615 to 542 computations (11.9% saved)

regimes22.0ms (0.3%)

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

2 calls:

11.0ms
im
10.0ms
re
Results
ErrorSegmentsBranch
22.5b2re
25.4b2im
Compiler

Compiled 34 to 26 computations (23.5% saved)

bsearch46.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
46.0ms
1.1921246032244921e+20
5.667968199211385e+21
Results
25.0ms60×body256valid
13.0ms32×body2048valid
3.0msbody4096valid
3.0msbody1024valid
1.0msbody512valid
Compiler

Compiled 155 to 128 computations (17.4% saved)

regimes21.0ms (0.3%)

Accuracy

Total -41.5b remaining (-184.4%)

Threshold costs -41.5b (-184.4%)

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

2 calls:

10.0ms
im
9.0ms
re
Results
ErrorSegmentsBranch
22.5b2re
25.4b2im
Compiler

Compiled 27 to 21 computations (22.2% saved)

bsearch31.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
1.1921246032244921e+20
5.667968199211385e+21
Results
13.0ms29×body2048valid
7.0ms55×body256valid
7.0ms22×body1024valid
2.0msbody4096valid
0.0msbody512valid
Compiler

Compiled 148 to 121 computations (18.2% saved)

simplify10.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068262
186262
292262
394262
495262
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(if (<=.f64 re -91999999999999996464225521239412416210592960330864406222294185352286084221107701692248358912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -380000000000000013961720719455397691260928) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -7148113328562451/4611686018427387904) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 200000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))))))
(if (<=.f64 re -91999999999999996464225521239412416210592960330864406222294185352286084221107701692248358912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -229999999999999984017488081143130019069952) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -7350268983256945/9671406556917033397649408) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1300000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))))))
(if (<=.f64 re 1150000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2))))
(if (<=.f64 re 2800000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Outputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(if (<=.f64 re -91999999999999996464225521239412416210592960330864406222294185352286084221107701692248358912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -380000000000000013961720719455397691260928) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -7148113328562451/4611686018427387904) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 200000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))))))
(if (<=.f64 re -91999999999999996464225521239412416210592960330864406222294185352286084221107701692248358912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -229999999999999984017488081143130019069952) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -7350268983256945/9671406556917033397649408) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1300000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))))))
(if (<=.f64 re 1150000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2))))
(if (<=.f64 re 2800000000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 187 to 147 computations (21.4% saved)

soundness235.0ms (3.2%)

Algorithm
egg-herbie
Rules
867×fma-def_binary64
604×associate-/r*_binary64
583×associate-/l*_binary64
324×log-prod_binary64
278×sqr-pow_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
02812004
17831884
227321800
04482921
110662857
230562755
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
Stop Event
saturated
node limit
node limit
saturated
Compiler

Compiled 134 to 99 computations (26.1% saved)

end148.0ms (2%)

Compiler

Compiled 177 to 135 computations (23.7% saved)

Profiling

Loading profile data...