Details

Time bar (total: 6.7s)

analyze193.0ms (2.9%)

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.6s (24%)

Results
854.0ms6431×body256valid
279.0ms496×body4096valid
272.0ms688×body2048valid
125.0ms406×body1024valid
49.0ms235×body512valid
Bogosity

preprocess46.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 19 to 14 computations (26.3% saved)

simplify31.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 9 computations (25% saved)

localize20.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

rewrite61.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (0.8%)

Algorithm
egg-herbie
Rules
606×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
227311800
Stop Event
node limit
Counts
89 → 153
Calls
Call 1
Inputs
im
(+.f64 (*.f64 -1 re) im)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 8)) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 (*.f64 -1 re) im)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1 re) (*.f64 -1 im))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.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))
(-.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 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (cbrt.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 (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 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.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))))
Outputs
im
(+.f64 (*.f64 -1 re) im)
(fma.f64 -1 re im)
(-.f64 im re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(fma.f64 -1 re (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) re)
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)))
(fma.f64 -1 re (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im)))
(-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) im)) re)
(-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) im)) re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 1/2 re) (*.f64 im im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 -1/2 (/.f64 (pow.f64 re 7) (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 -1/2 (pow.f64 re 7)) (*.f64 (pow.f64 im 8) 5/64)))))
(*.f64 -2 re)
(*.f64 re -2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2))
(fma.f64 re -2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))
(fma.f64 re -2 (/.f64 (*.f64 im -1/2) (/.f64 re im)))
(+.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 re -2 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 re -2 (/.f64 (*.f64 im -1/2) (/.f64 re im))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (fma.f64 re -2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (fma.f64 re -2 (/.f64 (*.f64 im -1/2) (/.f64 re im)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 1/2 re) (*.f64 im im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 8)) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) (/.f64 re (pow.f64 im 8))) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 8) re) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6)))) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))
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 (*.f64 -1 re) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(fma.f64 -1 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (-.f64 (*.f64 (/.f64 re (/.f64 im re)) -1/2) im) re)
(-.f64 (*.f64 (/.f64 -1/2 im) (*.f64 re re)) (+.f64 im re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 -1 re (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(-.f64 (-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (*.f64 (/.f64 re (/.f64 im re)) -1/2)) im) re)
(-.f64 (-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (*.f64 (/.f64 -1/2 im) (*.f64 re re))) im) re)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.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 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))))))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.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 (*.f64 re re) (*.f64 (sqrt.f64 2) (+.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 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 (sqrt.f64 2) (*.f64 (*.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))))) 1/4)))))
(+.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 (*.f64 (pow.f64 re 3) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/4))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 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))))
(fma.f64 -1/16 (/.f64 (*.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (*.f64 (*.f64 (sqrt.f64 2) (*.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 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2))))
(fma.f64 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 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)))))
(fma.f64 -1/16 (/.f64 (*.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/16 (/.f64 (*.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (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 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (pow.f64 im 5))) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 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))))))
(fma.f64 -1/16 (/.f64 (*.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (*.f64 1/16 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (sqrt.f64 re) (+.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (/.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 (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 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)))))
(+.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) (sqrt.f64 1/2)) (*.f64 (fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re) (*.f64 1/8 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 -1/16 (sqrt.f64 1/2))) 2)) (*.f64 re re)))) (pow.f64 im 7))))) (fma.f64 -1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 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)
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 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 (-.f64 (hypot.f64 re im) re) 2)) 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 (-.f64 (hypot.f64 re im) re) 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)))
(*.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 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.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 2 (-.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (-.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 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 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.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 (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 (-.f64 (hypot.f64 re im) re) 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)))
(*.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 (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 (-.f64 (hypot.f64 re im) re) 2) 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 (-.f64 (hypot.f64 re im) re) 2)) 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 (-.f64 (hypot.f64 re im) re) 2) 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 (-.f64 (hypot.f64 re im) re) 2))) 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 (-.f64 (hypot.f64 re im) re) 2) 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)))
(fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 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)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 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)))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 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)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 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)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 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)))

eval70.0ms (1.1%)

Compiler

Compiled 3972 to 2855 computations (28.1% saved)

prune29.0ms (0.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1449153
Fresh000
Picked011
Done000
Total14410154
Error
0.1b
Counts
154 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
48.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
48.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
48.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
25.0b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
57.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))))
11.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
23.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
56.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
51.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
25.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 274 to 229 computations (16.4% saved)

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

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

rewrite42.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify39.0ms (0.6%)

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

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

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

simplify50.0ms (0.8%)

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

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 50 to 29 computations (42% saved)

series13.0ms (0.2%)

Counts
4 → 72
Calls

24 calls:

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

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
563×log-prod_binary64
419×exp-prod_binary64
337×pow-prod-down_binary64
275×pow2_binary64
260×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify91.0ms (1.4%)

Algorithm
egg-herbie
Rules
429×associate-/l*_binary64
406×times-frac_binary64
377×log-prod_binary64
309×associate-/r*_binary64
304×distribute-rgt-out_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03202224
17512156
223351993
Stop Event
node limit
Counts
205 → 182
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))
(+.f64 0 (*.f64 (pow.f64 re -1/2) im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) im))) 1)
(*.f64 (*.f64 (pow.f64 re -1/2) im) 1)
(*.f64 1 (*.f64 (pow.f64 re -1/2) im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2) (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)) (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (pow.f64 re -1/2) im)
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/2)
(pow.f64 (*.f64 (pow.f64 re -1/2) im) 1)
(pow.f64 (exp.f64 1/2) (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(pow.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4)) 1/4)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2) 3/2)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (pow.f64 re -1/2) im)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(fabs.f64 (*.f64 (pow.f64 re -1/2) im))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re -1/2) im))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) im)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) im)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im))) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 1) 1))
(+.f64 0 (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))) 1)
(/.f64 1/2 (/.f64 re (*.f64 im im)))
(/.f64 (*.f64 im im) (*.f64 re 2))
(/.f64 1 (/.f64 re (*.f64 1/2 (*.f64 im im))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 re))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) (neg.f64 re))
(/.f64 (*.f64 (*.f64 im im) -1/2) (neg.f64 re))
(pow.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) 1)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 6) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))) 3)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(pow.f64 (/.f64 re (*.f64 1/2 (*.f64 im im))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 2) (log.f64 (*.f64 re 2))))
(exp.f64 (-.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (*.f64 re 2))))
(exp.f64 (-.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 (log.f64 re) 1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(+.f64 0 (*.f64 (*.f64 im im) (/.f64 1 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (/.f64 1 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (/.f64 1 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1 re)))) 1)
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 2) re)
(/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) re)
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1)
(pow.f64 (*.f64 (pow.f64 re -1/2) im) 2)
(pow.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4)) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6) 1/3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3) 2/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2) 3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 6)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)) 4)
(pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))) (sqrt.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im)))))
(sqrt.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (/.f64 1 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1 re)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1 re))))
(exp.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4))) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)))) 3))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 1) 2))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) 1)
(pow.f64 (*.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/4) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))))
(sqrt.f64 (*.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/4))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 1) 1))
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 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (pow.f64 re -1/2)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (pow.f64 re -1/2)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (pow.f64 re -1/2)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (pow.f64 re -1/2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(*.f64 im (*.f64 -1/2 (pow.f64 re -1/2)))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(*.f64 im (*.f64 -1/2 (pow.f64 re -1/2)))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(*.f64 im (*.f64 -1/2 (pow.f64 re -1/2)))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))
(*.f64 im (*.f64 -1/2 (pow.f64 re -1/2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(+.f64 0 (*.f64 (pow.f64 re -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) im))) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (*.f64 (pow.f64 re -1/2) im) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 1 (*.f64 (pow.f64 re -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2) (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 2)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)) (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (pow.f64 re -1/2) im) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (exp.f64 1/2) (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4)) 1/4)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 im (pow.f64 re -1/2)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3) 1/3)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2) 3/2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (pow.f64 re -1/2))) 2) 3/2)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 3)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2))))) (sqrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(fabs.f64 (*.f64 (pow.f64 re -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re -1/2) im))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 1))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/3))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im))) 3))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im))) 2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/2) 1))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 1) 1))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(+.f64 0 (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (/.f64 1/2 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (/.f64 1/2 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (/.f64 1/2 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (/.f64 im re) 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))) 1)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 1/2 (/.f64 re (*.f64 im im)))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (*.f64 im im) (*.f64 re 2))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 1 (/.f64 re (*.f64 1/2 (*.f64 im im))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (*.f64 -1/2 (*.f64 im im)) (neg.f64 re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(/.f64 (*.f64 (*.f64 im im) -1/2) (neg.f64 re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) 1)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 4) 1/2)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 6) 1/3)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))) 3)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 2)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (/.f64 re (*.f64 1/2 (*.f64 im im))) -1)
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) re))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (/.f64 im re) 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (/.f64 im re) 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) re)))) (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (/.f64 im re) 2))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (/.f64 im re) 2)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 4))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 (/.f64 1/2 re) im)))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 6))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))) 1))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 6)) 1/3))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)))) 3))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re)))) 2))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re))) 1) 1))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 2) (log.f64 (*.f64 re 2))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (-.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (*.f64 re 2))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(exp.f64 (-.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 (log.f64 re) 1)))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 im (/.f64 (/.f64 im re) 2))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 0 (*.f64 (*.f64 im im) (/.f64 1 re)))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (/.f64 1 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (/.f64 1 re)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (/.f64 1 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (/.f64 1 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (/.f64 1 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1 re)))) 1)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 2) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 (pow.f64 re -1/2) im) 2)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4)) 1/2)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6) 1/3)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3) 2/3)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 2) 3)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 6)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 re -1/2) im)) 4)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (*.f64 im (pow.f64 re -1/2))))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (*.f64 im (pow.f64 re -1/2))))))
(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 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))) (sqrt.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (*.f64 im (pow.f64 re -1/2)))))) (sqrt.f64 (*.f64 2 (log.f64 (*.f64 im (pow.f64 re -1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4)))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (/.f64 1 re)))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1 re)))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (/.f64 1 re))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (/.f64 1 re))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 2))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -2) (pow.f64 im 4))) 1/2))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 6)) 1/3))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)))) 3))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1) 1))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (pow.f64 re -1/2) im))) 1/2) 2))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)) 1) 2))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 1)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) 1)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(pow.f64 (*.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/4) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) 3) 1/3)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 3)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))))) (sqrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)))))
(sqrt.f64 (*.f64 (*.f64 (*.f64 im im) (/.f64 1 re)) 1/4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im)))
(*.f64 (/.f64 im 2) (pow.f64 re -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)) 3))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 1))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 1/3))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 3))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im)))) 2))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))) 1) 1))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))

localize63.0ms (0.9%)

Local error

Found 4 expressions with local error:

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

Compiled 60 to 49 computations (18.3% saved)

series19.0ms (0.3%)

Counts
4 → 24
Calls

18 calls:

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

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
575×log-prod_binary64
436×exp-prod_binary64
422×pow-prod-down_binary64
293×pow2_binary64
253×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify87.0ms (1.3%)

Algorithm
egg-herbie
Rules
516×log-prod_binary64
465×fma-def_binary64
332×distribute-rgt-in_binary64
326×distribute-lft-in_binary64
273×exp-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03031517
16651347
217431347
359641296
Stop Event
node limit
Counts
149 → 158
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 0 (sqrt.f64 (/.f64 1/2 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 1/2 re)))) 1)
(/.f64 (sqrt.f64 1/2) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 1/2 re))))
(pow.f64 (pow.f64 (/.f64 1/2 re) 3/2) 1/3)
(pow.f64 (pow.f64 (/.f64 1/2 re) 1/6) 3)
(pow.f64 (pow.f64 (/.f64 1/2 re) 1/4) 2)
(pow.f64 (/.f64 1/2 re) 1/2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re)))))
(sqrt.f64 (/.f64 1/2 re))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))
(log.f64 (+.f64 1 (expm1.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))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 1/4)) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))) 1) 1))
(+.f64 0 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 1)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(pow.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 1) 1))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) 1) (sqrt.f64 re))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 1)
(pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 1/2)
(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)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3))
(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)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 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 (/.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/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 (exp.f64 1/2) (neg.f64 (log.f64 re)))
(pow.f64 (E.f64) (*.f64 -1/2 (log.f64 re)))
(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 -3/2) 1/3)
(pow.f64 (cbrt.f64 re) -3/2)
(pow.f64 (/.f64 1 (cbrt.f64 re)) 3/2)
(pow.f64 (pow.f64 re -1/6) 3)
(pow.f64 (sqrt.f64 re) -1)
(pow.f64 (pow.f64 re -1/4) 2)
(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 (sqrt.f64 re)) -1))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/4)) 2))
(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 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 1/2 re)))
(sqrt.f64 (/.f64 1/2 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 1/2 re)))) 1)
(sqrt.f64 (/.f64 1/2 re))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 1/2 re))))
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (pow.f64 (/.f64 1/2 re) 3/2) 1/3)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (pow.f64 (/.f64 1/2 re) 1/6) 3)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (pow.f64 (/.f64 1/2 re) 1/4) 2)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (/.f64 1/2 re) 1/2)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re)))))
(sqrt.f64 (/.f64 1/2 re))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))))
(sqrt.f64 (/.f64 1/2 re))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 1/2 re)))))
(sqrt.f64 (/.f64 1/2 re))
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 3/2))
(sqrt.f64 (/.f64 1/2 re))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 1/2 re))))
(sqrt.f64 (/.f64 1/2 re))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 1/2 re))))
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))))
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))) 1))
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 3/2)) 1/3))
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 1/6)) 3))
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 1/4)) 2))
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 1/2))
(sqrt.f64 (/.f64 1/2 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))) 1) 1))
(sqrt.f64 (/.f64 1/2 re))
(+.f64 0 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1 re))) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1 re))) im))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re -1/2)) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1/2)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3) 1/3)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 3)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 2)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (pow.f64 re 1/2)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (pow.f64 re 1/2)))))
(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 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))) (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2))))) (sqrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (pow.f64 re 1/2))))) (sqrt.f64 (log.f64 (/.f64 im (pow.f64 re 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2)) im))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 1))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3)) 1/3))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 3))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 1) 1))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (pow.f64 re 1/2))
(/.f64 im (sqrt.f64 re))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 1)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) 1) (sqrt.f64 re))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (pow.f64 re 1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 1)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 1/2)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3) 1/3)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 3)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 2)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re)))))) (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1/2 re))))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im) 3))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 1))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 1/3))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 3))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im))) 2))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/2 re)) im)) 1) 1))
(*.f64 im (sqrt.f64 (/.f64 1/2 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)))))
(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 (/.f64 1 (cbrt.f64 re)) (pow.f64 re -1/6))
(/.f64 (pow.f64 re -1/6) (cbrt.f64 re))
(*.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/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))
(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 (exp.f64 1/2) (neg.f64 (log.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (E.f64) (*.f64 -1/2 (log.f64 re)))
(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 -3/2) 1/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/6) 3)
(pow.f64 re -1/2)
(pow.f64 (sqrt.f64 re) -1)
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re -1/4) 2)
(pow.f64 re -1/2)
(pow.f64 (/.f64 (sqrt.f64 re) 1) -1)
(pow.f64 re -1/2)
(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 (sqrt.f64 re)) -1))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/4)) 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 (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)

localize24.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 55 to 45 computations (18.2% saved)

series4.0ms (0.1%)

Counts
3 → 0
Calls

12 calls:

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

rewrite52.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

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

simplify39.0ms (0.6%)

Algorithm
egg-herbie
Rules
738×fma-def_binary64
495×log-prod_binary64
446×unswap-sqr_binary64
255×distribute-rgt-in_binary64
252×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096245
1198245
2854245
34947244
Stop Event
node limit
Counts
43 → 52
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 im)) 1)
(pow.f64 im 1)
(pow.f64 (pow.f64 im 3) 1/3)
(pow.f64 (cbrt.f64 im) 3)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (*.f64 im im))
(log.f64 (exp.f64 im))
(log.f64 (+.f64 1 (expm1.f64 im)))
(cbrt.f64 (pow.f64 im 3))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) (*.f64 2 (sqrt.f64 2))))
(expm1.f64 (log1p.f64 im))
(log1p.f64 (expm1.f64 im))
(exp.f64 (log.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im))) 1)
(pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) im)) 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 (sqrt.f64 1/2) im))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3))
(cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (sqrt.f64 1/2))))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) im)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))
(-.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 (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 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))
(cbrt.f64 (*.f64 (pow.f64 im 3) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (pow.f64 im 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 (exp.f64 (log1p.f64 im)) 1)
im
(pow.f64 im 1)
im
(pow.f64 (pow.f64 im 3) 1/3)
im
(pow.f64 (cbrt.f64 im) 3)
im
(pow.f64 (sqrt.f64 im) 2)
im
(sqrt.f64 (*.f64 im im))
im
(log.f64 (exp.f64 im))
im
(log.f64 (+.f64 1 (expm1.f64 im)))
im
(cbrt.f64 (pow.f64 im 3))
im
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3)))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3)))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3)))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3))))
(expm1.f64 (log1p.f64 im))
im
(log1p.f64 (expm1.f64 im))
im
(exp.f64 (log.f64 im))
im
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im))) 1)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) 1/3)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) im)) 3)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) im)) 2)
(*.f64 im (sqrt.f64 1/2))
(sqrt.f64 (*.f64 1/2 (*.f64 im im)))
(sqrt.f64 (*.f64 (*.f64 im im) 1/2))
(sqrt.f64 (*.f64 im (*.f64 im 1/2)))
(fabs.f64 (*.f64 im (sqrt.f64 1/2)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))
(*.f64 im (sqrt.f64 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) im))))
(*.f64 im (sqrt.f64 1/2))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3))
(*.f64 im (sqrt.f64 1/2))
(cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3)))
(*.f64 im (sqrt.f64 1/2))
(cbrt.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (sqrt.f64 1/2))))
(*.f64 im (sqrt.f64 1/2))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im)))
(*.f64 im (sqrt.f64 1/2))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) im)))
(*.f64 im (sqrt.f64 1/2))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))
(*.f64 im (sqrt.f64 1/2))
(-.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 (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))
(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))
(cbrt.f64 (*.f64 (pow.f64 im 3) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) (/.f64 re (pow.f64 im 3))))
(cbrt.f64 (/.f64 (pow.f64 im 3) (/.f64 re (pow.f64 re -1/2))))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) (/.f64 re (pow.f64 im 3))))
(cbrt.f64 (/.f64 (pow.f64 im 3) (/.f64 re (pow.f64 re -1/2))))
(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))

eval334.0ms (5%)

Compiler

Compiled 8330 to 6513 computations (21.8% saved)

prune151.0ms (2.3%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New5285533
Fresh314
Picked101
Done235
Total5349543
Error
0.0b
Counts
543 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
48.6b
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
48.6b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
48.6b
(*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2)))
23.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
25.0b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
11.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
23.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
51.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
25.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 150 to 124 computations (17.3% saved)

localize11.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 16 computations (48.4% saved)

series13.0ms (0.2%)

Counts
2 → 16
Calls

12 calls:

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

rewrite70.0ms (1%)

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

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (0.8%)

Algorithm
egg-herbie
Rules
553×associate-*l*_binary64
548×fma-def_binary64
545×associate-*r*_binary64
356×log-prod_binary64
254×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01771153
14381067
21397953
36210939
Stop Event
node limit
Counts
52 → 103
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)
(pow.f64 (*.f64 (-.f64 im re) 2) 1/2)
(sqrt.f64 (*.f64 (-.f64 im re) 2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (-.f64 im re) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(-.f64 (+.f64 1 (sqrt.f64 (-.f64 im re))) 1)
(*.f64 (sqrt.f64 (-.f64 im re)) 1)
(*.f64 1 (sqrt.f64 (-.f64 im re)))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 im re)))
(*.f64 (cbrt.f64 (-.f64 im re)) (cbrt.f64 (sqrt.f64 (-.f64 im re))))
(*.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 (-.f64 im re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 im re)) 1/2))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 im im) (*.f64 re re))) (sqrt.f64 (+.f64 im re)))
(pow.f64 (-.f64 im re) 1/2)
(pow.f64 (sqrt.f64 (-.f64 im re)) 1)
(pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3)
(pow.f64 (pow.f64 (-.f64 im re) 1/4) 2)
(fabs.f64 (sqrt.f64 (-.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 im re))))
(cbrt.f64 (pow.f64 (-.f64 im re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 im re))))
(exp.f64 (log.f64 (sqrt.f64 (-.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 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 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 1/2 (/.f64 (/.f64 (sqrt.f64 -1) im) (sqrt.f64 2)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) im) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 -1/8 (sqrt.f64 2)) (/.f64 (sqrt.f64 -1) (/.f64 (*.f64 im im) -1))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) im) (/.f64 (sqrt.f64 -1) im))) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 1/2 (/.f64 (/.f64 (sqrt.f64 -1) im) (sqrt.f64 2))))))
(+.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 (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) im) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 -1/8 (sqrt.f64 2)) (/.f64 (sqrt.f64 -1) (/.f64 (*.f64 im im) -1)))))))
(fma.f64 1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) im) (/.f64 (sqrt.f64 -1) im))) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 1/2 (/.f64 (/.f64 (sqrt.f64 -1) im) (sqrt.f64 2)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -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 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re re))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re (*.f64 re -1/8))) (*.f64 (sqrt.f64 2) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -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 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re re))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))) (*.f64 (sqrt.f64 2) (fma.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 (/.f64 im (sqrt.f64 -1)) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (/.f64 im (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 -1/8 (*.f64 im im)) (*.f64 -1 (sqrt.f64 -1))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 im im) (sqrt.f64 -1))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -1) 3))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 im (sqrt.f64 -1)) (/.f64 im -1))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (*.f64 im im) (sqrt.f64 -1))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5))) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))
(fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re re)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re re)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))))
(fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re (*.f64 re -1/8)) (sqrt.f64 im)))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re re)) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re re)) (fma.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))))
(+.f64 (fma.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re (*.f64 re -1/8)) (sqrt.f64 im)))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 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 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 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 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3) 1/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 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 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 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 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 (*.f64 (-.f64 im re) 2) 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)))
(sqrt.f64 (*.f64 (-.f64 im re) 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)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 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)))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 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)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (pow.f64 (-.f64 im re) 3/2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (-.f64 im re) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (pow.f64 (-.f64 im re) 3/2))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 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)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 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)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 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)))
(-.f64 (+.f64 1 (sqrt.f64 (-.f64 im re))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(*.f64 (sqrt.f64 (-.f64 im re)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(*.f64 1 (sqrt.f64 (-.f64 im re)))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 im re)))
(*.f64 (cbrt.f64 (-.f64 im re)) (cbrt.f64 (sqrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 (-.f64 im re) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (fabs.f64 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (-.f64 im re)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(pow.f64 (cbrt.f64 (-.f64 im re)) 3/2)
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 im re)))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 im re)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (fabs.f64 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (-.f64 im re)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(pow.f64 (cbrt.f64 (-.f64 im re)) 3/2)
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 re (+.f64 re im) (*.f64 im im))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 im im) (*.f64 re re))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 im im) (*.f64 re re))) (sqrt.f64 (+.f64 re im)))
(/.f64 (sqrt.f64 (fma.f64 re (neg.f64 re) (*.f64 im im))) (sqrt.f64 (+.f64 re im)))
(pow.f64 (-.f64 im re) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(pow.f64 (sqrt.f64 (-.f64 im re)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 im re) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(pow.f64 (pow.f64 (-.f64 im re) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(fabs.f64 (sqrt.f64 (-.f64 im re)))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 im re))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(cbrt.f64 (pow.f64 (-.f64 im re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 im re))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 im re))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 im re)) 1))
(+.f64 (sqrt.f64 (-.f64 im re)) 0)
(sqrt.f64 (-.f64 im re))

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series10.0ms (0.2%)

Counts
2 → 24
Calls

12 calls:

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

rewrite47.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
714×fma-def_binary64
592×log-prod_binary64
591×log-div_binary64
379×associate-/l*_binary64
370×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0129948
1308834
21111726
35869726
Stop Event
node limit
Counts
75 → 79
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(-.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 (cbrt.f64 (*.f64 im im)) (*.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 (cbrt.f64 (*.f64 im im)) 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 (cbrt.f64 (*.f64 im im)) (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 (cbrt.f64 (*.f64 im im)) (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))
(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 (/.f64 im (sqrt.f64 re)) 1/2)) 1)
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(/.f64 1 (/.f64 (sqrt.f64 re) (*.f64 im 1/2)))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(/.f64 (neg.f64 (*.f64 im 1/2)) (neg.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 im 1/2) 1) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 im 1/2) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 (*.f64 (neg.f64 im) 1/2) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 1/2 (neg.f64 im)) (neg.f64 (sqrt.f64 re)))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 1)
(pow.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 2)
(sqrt.f64 (*.f64 1/4 (/.f64 (*.f64 im im) re)))
(log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))
(exp.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2))
(-.f64 (+.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 (/.f64 im 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 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (pow.f64 re -1/2) (cbrt.f64 im)))
(*.f64 (cbrt.f64 im) (*.f64 (pow.f64 re -1/2) (cbrt.f64 (*.f64 im im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 im)))
(*.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 (cbrt.f64 (*.f64 im im)) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (cbrt.f64 im))
(*.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 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im im)) (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 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 (cbrt.f64 (*.f64 im im)) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (cbrt.f64 im))
(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 (/.f64 im 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))
(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 (/.f64 im (sqrt.f64 re)) 1/2)) 1)
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 1 (/.f64 (sqrt.f64 re) (*.f64 im 1/2)))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (*.f64 im 1/2) (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (neg.f64 (*.f64 im 1/2)) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 im 1/2) 1) (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 im 1/2) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 im 1/2) (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (*.f64 (neg.f64 im) 1/2) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (*.f64 1/2 (neg.f64 im)) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 1)
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 3)
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) 2)
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(sqrt.f64 (*.f64 1/4 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 (/.f64 im (/.f64 re im)) 1/4))
(sqrt.f64 (*.f64 (*.f64 (/.f64 im re) im) 1/4))
(sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) 1/4))
(log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2) 3))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(exp.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))
(+.f64 1 (-.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))

localize11.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 13 computations (31.6% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite49.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Rules
753×associate-*l*_binary64
656×associate-*r*_binary64
603×distribute-rgt-in_binary64
586×distribute-lft-in_binary64
250×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
052300
1133300
2490250
33646250
Stop Event
node limit
Counts
25 → 17
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(-.f64 (+.f64 1 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))) 1)
(pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) 1)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))) 3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re -1/4)) 2)
(sqrt.f64 (*.f64 (*.f64 (*.f64 im im) 1/4) (pow.f64 re -1)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) 1/2) (pow.f64 re -1/2)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 re -1/2) 3) (pow.f64 (*.f64 im 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im 1/2) 3) (pow.f64 (pow.f64 re -1/2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))))
Outputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(-.f64 (+.f64 1 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))) 1)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) 1)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) 3) 1/3)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))) 3)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re -1/4)) 2)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(sqrt.f64 (*.f64 (*.f64 (*.f64 im im) 1/4) (pow.f64 re -1)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) 1/2) (pow.f64 re -1/2)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2)) 3))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 re -1/2) 3) (pow.f64 (*.f64 im 1/2) 3)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im 1/2) 3) (pow.f64 (pow.f64 re -1/2) 3)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))
(exp.f64 (log.f64 (*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (fabs.f64 (pow.f64 re -1/2)) im))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) (*.f64 1/2 im))

localize11.0ms (0.2%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

localize39.0ms (0.6%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 15 computations (28.6% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite35.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify46.0ms (0.7%)

Algorithm
egg-herbie
Rules
605×log-prod_binary64
408×fma-neg_binary64
399×exp-prod_binary64
327×exp-sum_binary64
232×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
028144
164108
226172
3170672
4396472
5583872
Stop Event
node limit
Counts
12 → 14
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 im 2)) 1)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 im 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) 3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 im 2))) 2)
(pow.f64 (*.f64 im 2) 1/2)
(sqrt.f64 (*.f64 im 2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im 2))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im 2)) 3))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im 2))))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (sqrt.f64 (*.f64 im 2)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 im 2)) 3) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 im 2))) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (*.f64 im 2) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 im 2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im 2)) 3))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 im 2)) 1))
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))

eval101.0ms (1.5%)

Compiler

Compiled 3448 to 2441 computations (29.2% saved)

prune65.0ms (1%)

Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New2103213
Fresh101
Picked011
Done077
Total21111222
Error
0.0b
Counts
222 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
48.7b
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
48.7b
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
48.6b
(*.f64 (pow.f64 re -1/2) (*.f64 im 1/2))
48.6b
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
48.6b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
23.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
25.0b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
11.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
23.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
51.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
25.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 106 to 85 computations (19.8% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 9 computations (47.1% saved)

series4.0ms (0.1%)

Counts
2 → 12
Calls

9 calls:

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

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
682×pow1_binary64
632×add-log-exp_binary64
632×log1p-expm1-u_binary64
632×expm1-log1p-u_binary64
618×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify42.0ms (0.6%)

Algorithm
egg-herbie
Rules
564×fma-def_binary64
486×log-prod_binary64
356×log-div_binary64
344×unswap-sqr_binary64
231×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
099704
1228599
2889494
34158494
Stop Event
node limit
Counts
54 → 54
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(-.f64 (+.f64 1 (/.f64 1/2 (sqrt.f64 re))) 1)
(*.f64 1/2 (pow.f64 re -1/2))
(*.f64 (/.f64 1/2 (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))) (cbrt.f64 (/.f64 1/4 re)))
(*.f64 (cbrt.f64 (/.f64 1/4 re)) (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))) (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))))
(*.f64 -1/2 (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (pow.f64 re -1/2) 1/2)
(pow.f64 (/.f64 1/2 (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))) 2)
(pow.f64 (*.f64 (sqrt.f64 re) 2) -1)
(sqrt.f64 (/.f64 1/4 re))
(log.f64 (exp.f64 (/.f64 1/2 (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 1/2 (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))))
(-.f64 (+.f64 1 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)) 1)
(/.f64 im (*.f64 (sqrt.f64 re) 2))
(/.f64 1 (/.f64 (sqrt.f64 re) (*.f64 1/2 im)))
(/.f64 (*.f64 1/2 im) (sqrt.f64 re))
(/.f64 (neg.f64 (*.f64 1/2 im)) (neg.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 im) 1) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 1/2 im) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 (*.f64 -1/2 im) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 im -1/2) (neg.f64 (sqrt.f64 re)))
(pow.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im) 1)
(pow.f64 (pow.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)) 2)
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 1/4 re)))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 1/2 (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)))
(exp.f64 (log.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)))
Outputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(-.f64 (+.f64 1 (/.f64 1/2 (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(*.f64 1/2 (pow.f64 re -1/2))
(*.f64 (/.f64 1/2 (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(*.f64 1 (/.f64 1/2 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))) (cbrt.f64 (/.f64 1/4 re)))
(*.f64 (cbrt.f64 (/.f64 1/4 re)) (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))) (cbrt.f64 (/.f64 1/4 re)))
(*.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))) (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(*.f64 -1/2 (/.f64 1 (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(*.f64 (pow.f64 re -1/2) 1/2)
(*.f64 1/2 (pow.f64 re -1/2))
(pow.f64 (/.f64 1/2 (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 1/2 (sqrt.f64 re))) 3)
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 1/2 (sqrt.f64 re))) 2)
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(pow.f64 (*.f64 (sqrt.f64 re) 2) -1)
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(sqrt.f64 (/.f64 1/4 re))
(log.f64 (exp.f64 (/.f64 1/2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 1/2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 1/2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 1/2 (sqrt.f64 re)) 1))
(+.f64 (/.f64 1/2 (sqrt.f64 re)) 0)
(/.f64 1/2 (sqrt.f64 re))
(-.f64 (+.f64 1 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)) 1)
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 im (*.f64 (sqrt.f64 re) 2))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 1 (/.f64 (sqrt.f64 re) (*.f64 1/2 im)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 (*.f64 1/2 im) (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 (neg.f64 (*.f64 1/2 im)) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 im) 1) (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 im) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 1/2 im) (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (cbrt.f64 re)))
(*.f64 (/.f64 1/2 (cbrt.f64 (sqrt.f64 re))) (/.f64 im (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)) (pow.f64 re 1/4))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 (*.f64 -1/2 im) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(/.f64 (*.f64 im -1/2) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im) 1)
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(pow.f64 (pow.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)) 3)
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)) 2)
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 1/4 re)))
(sqrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im)))
(sqrt.f64 (*.f64 im (*.f64 im (/.f64 1/4 re))))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 1/2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im) 3))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3) (pow.f64 im 3)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1/2 (sqrt.f64 re)) 3)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(exp.f64 (log.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) im)))
(+.f64 1 (-.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1))
(+.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 0)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series7.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

rewrite46.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify72.0ms (1.1%)

Algorithm
egg-herbie
Rules
645×fma-def_binary64
615×log-prod_binary64
386×log-div_binary64
355×fma-neg_binary64
308×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0135913
1322832
21213766
35152766
Stop Event
node limit
Counts
81 → 74
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 1)
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 1 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))))
(*.f64 (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(*.f64 -1/2 (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 re)) im)))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(*.f64 (/.f64 1/2 (neg.f64 (sqrt.f64 re))) (neg.f64 im))
(*.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) 1) im)
(*.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im))
(*.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (sqrt.f64 im)) (sqrt.f64 im))
(pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) 2) -1)
(sqrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im))))
(log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(-.f64 (+.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(*.f64 (/.f64 (sqrt.f64 re) im) 1)
(*.f64 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 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 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 (pow.f64 re 1/4) (cbrt.f64 (*.f64 im im))) (/.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 (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)
(pow.f64 (/.f64 im (sqrt.f64 re)) -1)
(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 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (sqrt.f64 re) (/.f64 1 im))
(/.f64 (sqrt.f64 re) im)
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 1 (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (cbrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (cbrt.f64 (*.f64 im (*.f64 im (/.f64 1/4 re)))))
(*.f64 (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (cbrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re)))) (cbrt.f64 (*.f64 im (*.f64 im (/.f64 1/4 re)))))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 -1/2 (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (/.f64 1/2 (sqrt.f64 re)) im)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (/.f64 1/2 (neg.f64 (sqrt.f64 re))) (neg.f64 im))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) 1) im)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(*.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im))
(*.f64 (/.f64 1/2 (sqrt.f64 re)) (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 im)))
(*.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (sqrt.f64 im)) (sqrt.f64 im))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 3)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))) 2)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) 2) -1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(sqrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im))))
(sqrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im)))
(sqrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re))
(sqrt.f64 (*.f64 im (*.f64 im (/.f64 1/4 re))))
(log.f64 (pow.f64 (exp.f64 1/2) (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re))) 3))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 1))
(+.f64 (*.f64 im (/.f64 1/2 (sqrt.f64 re))) 0)
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(-.f64 (+.f64 1 (/.f64 (sqrt.f64 re) im)) 1)
(/.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 1 (/.f64 (sqrt.f64 re) im))
(/.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 (sqrt.f64 re) im)) (cbrt.f64 (/.f64 re (*.f64 im 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 (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))) im)
(*.f64 (/.f64 (cbrt.f64 re) im) (cbrt.f64 (sqrt.f64 re)))
(*.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 (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))) im)
(*.f64 (/.f64 (cbrt.f64 re) im) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re 1/4) 1) (/.f64 (pow.f64 re 1/4) im))
(/.f64 (sqrt.f64 re) im)
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (/.f64 (sqrt.f64 re) (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)))
(/.f64 (sqrt.f64 re) (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (pow.f64 re 1/4) (cbrt.f64 (*.f64 im im))) (/.f64 (pow.f64 re 1/4) (cbrt.f64 im)))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (/.f64 (sqrt.f64 re) (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)))
(/.f64 (sqrt.f64 re) (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 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 (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))) im)
(*.f64 (/.f64 (cbrt.f64 re) im) (cbrt.f64 (sqrt.f64 re)))
(pow.f64 (/.f64 (sqrt.f64 re) im) 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)
(pow.f64 (/.f64 im (sqrt.f64 re)) -1)
(/.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)))
(/.f64 (sqrt.f64 re) im)
(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)

localize16.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 21 computations (30% saved)

series114.0ms (1.7%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
56.0ms
im
@0
(/.f64 (*.f64 im 1/2) (pow.f64 re 1/4))
32.0ms
re
@-inf
(/.f64 (*.f64 im 1/2) (pow.f64 re 1/4))
13.0ms
re
@0
(/.f64 (*.f64 im 1/2) (pow.f64 re 1/4))
10.0ms
re
@inf
(/.f64 (*.f64 im 1/2) (pow.f64 re 1/4))
1.0ms
im
@inf
(/.f64 (*.f64 im 1/2) (pow.f64 re 1/4))

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
493×log-prod_binary64
380×exp-prod_binary64
296×prod-exp_binary64
267×pow-prod-down_binary64
242×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify63.0ms (1%)

Algorithm
egg-herbie
Rules
613×fma-def_binary64
516×unswap-sqr_binary64
451×associate-/r/_binary64
277×distribute-rgt-in_binary64
263×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03212197
18462159
229452134
Stop Event
node limit
Counts
160 → 202
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(+.f64 0 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 1)
(*.f64 (*.f64 im 1/2) (pow.f64 re -1/2))
(*.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (pow.f64 re -1/4))
(*.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (*.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (pow.f64 re -1/4)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re)) (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (pow.f64 re -1/4)))
(*.f64 (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (*.f64 (*.f64 im -1/2) (pow.f64 re -1/4)) (/.f64 1 (neg.f64 (pow.f64 re 1/4))))
(*.f64 (pow.f64 re -1/4) (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))
(*.f64 (/.f64 im (pow.f64 re 1/4)) (/.f64 1/2 (pow.f64 re 1/4)))
(*.f64 (/.f64 1/2 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/4)))
(*.f64 (/.f64 (*.f64 im 1/2) 1) (pow.f64 re -1/2))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) 1) (/.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (pow.f64 re 1/4)))
(*.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) 1) (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (pow.f64 re 1/4)))
(*.f64 (/.f64 (*.f64 im 1/2) (cbrt.f64 (sqrt.f64 re))) (/.f64 (pow.f64 re -1/4) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (pow.f64 re 1/12)))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (cbrt.f64 (sqrt.f64 re))) (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (pow.f64 re 1/12)))
(*.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/8)) (pow.f64 re -3/8))
(*.f64 (pow.f64 re -1/8) (/.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (pow.f64 re 1/8)))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (pow.f64 re 1/8)) (/.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (pow.f64 re 1/8)))
(pow.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 1)
(pow.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re) 1/2)
(pow.f64 (pow.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 2)
(pow.f64 (/.f64 1 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) -1)
(pow.f64 (exp.f64 1) (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(pow.f64 (/.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3) (pow.f64 re 3/4)) 1/3)
(pow.f64 (/.f64 (sqrt.f64 re) (*.f64 im 1/2)) -1)
(pow.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))))
(neg.f64 (/.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (neg.f64 (pow.f64 re 1/4))))
(sqrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re))
(log.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3) (pow.f64 re 3/4)))
(expm1.f64 (log1p.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (log.f64 (sqrt.f64 re))))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) (*.f64 1/4 (log.f64 re))))
(exp.f64 (-.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) (*.f64 -1/4 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 -1/4 (log.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1)))
(+.f64 0 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))) 1)
(*.f64 im (/.f64 1 (*.f64 (pow.f64 re 1/4) 2)))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (*.f64 im 1/2) (pow.f64 re -1/4))
(*.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 1)
(*.f64 1 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re -1/4)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)))
(*.f64 (sqrt.f64 (*.f64 im 1/2)) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re -1/4)))
(*.f64 (*.f64 im -1/2) (/.f64 1 (neg.f64 (pow.f64 re 1/4))))
(*.f64 (pow.f64 re -1/4) (*.f64 im 1/2))
(*.f64 (/.f64 im (pow.f64 re 1/4)) 1/2)
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 (*.f64 im 1/2) (pow.f64 re 1/12)))
(*.f64 (pow.f64 re -1/8) (/.f64 (*.f64 im 1/2) (pow.f64 re 1/8)))
(*.f64 (/.f64 im 1) (/.f64 1/2 (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/4)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) 1) (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (pow.f64 re 1/12)))
(*.f64 (/.f64 1/2 (cbrt.f64 (sqrt.f64 re))) (/.f64 im (pow.f64 re 1/12)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (cbrt.f64 (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (cbrt.f64 (sqrt.f64 re))) (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)))
(*.f64 (/.f64 im (pow.f64 re 1/8)) (/.f64 1/2 (pow.f64 re 1/8)))
(*.f64 (/.f64 1/2 (pow.f64 re 1/8)) (/.f64 im (pow.f64 re 1/8)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (pow.f64 re 1/8)) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)))
(pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 1)
(pow.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re)) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3) 1/3)
(pow.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) 3)
(pow.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) 2)
(pow.f64 (/.f64 (pow.f64 re 1/4) (*.f64 im 1/2)) -1)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(pow.f64 (/.f64 (pow.f64 (*.f64 im 1/2) 3) (pow.f64 re 3/4)) 1/3)
(pow.f64 (/.f64 (/.f64 (pow.f64 re 1/4) (*.f64 im 1/2)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))))
(neg.f64 (/.f64 (*.f64 im 1/2) (neg.f64 (pow.f64 re 1/4))))
(sqrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im 1/2) 3) (pow.f64 re 3/4)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12))) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 re 1/4) (*.f64 im 1/2))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (pow.f64 re 1/4) 2))))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (*.f64 1/4 (log.f64 re))))
(exp.f64 (-.f64 (log.f64 (*.f64 im 1/2)) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (*.f64 -1/4 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 -1/4 (log.f64 re)) (*.f64 (log.f64 (*.f64 im 1/2)) 1)))
Outputs
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 re) 1/4) im))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)) im)
(*.f64 1/2 (*.f64 im (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 (/.f64 1 re) 1/4)))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(*.f64 1/2 (*.f64 im (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))))
(*.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 -1 1/4)) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(*.f64 1/2 (*.f64 im (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))))
(*.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 -1 1/4)) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(*.f64 1/2 (*.f64 im (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))))
(*.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 -1 1/4)) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))) im))
(*.f64 1/2 (*.f64 im (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 re))))))
(*.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 -1 1/4)) (*.f64 1/2 im))
(+.f64 0 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 im (sqrt.f64 re))) 1/2))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 im (sqrt.f64 re))) 1/2))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 1)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(*.f64 (*.f64 im 1/2) (pow.f64 re -1/2))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (pow.f64 re -1/4))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 1)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(*.f64 1 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(*.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (*.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (pow.f64 re -1/4)))
(*.f64 (cbrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im)))) (/.f64 (*.f64 (pow.f64 re -1/4) (cbrt.f64 (*.f64 1/2 im))) (pow.f64 re 1/12)))
(*.f64 (pow.f64 re -1/4) (*.f64 (cbrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12))))
(*.f64 (pow.f64 re -1/4) (*.f64 (cbrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re)))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2))) (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) (cbrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re)) (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2))) (cbrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) (cbrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (pow.f64 re -1/4)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(*.f64 (*.f64 (*.f64 im -1/2) (pow.f64 re -1/4)) (/.f64 1 (neg.f64 (pow.f64 re 1/4))))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/4) (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (/.f64 im (pow.f64 re 1/4)) (/.f64 1/2 (pow.f64 re 1/4)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (/.f64 1/2 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/4)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (/.f64 (*.f64 im 1/2) 1) (pow.f64 re -1/2))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) 1) (/.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (pow.f64 re 1/4)))
(*.f64 (cbrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im)))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/12))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/12))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/12))))
(*.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) 1) (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (pow.f64 re 1/4)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 (/.f64 (*.f64 im 1/2) (cbrt.f64 (sqrt.f64 re))) (/.f64 (pow.f64 re -1/4) (pow.f64 re 1/12)))
(*.f64 (/.f64 im (/.f64 (cbrt.f64 (sqrt.f64 re)) 1/2)) (/.f64 (pow.f64 re -1/4) (pow.f64 re 1/12)))
(*.f64 (*.f64 1/2 (/.f64 im (cbrt.f64 (sqrt.f64 re)))) (/.f64 (pow.f64 re -1/4) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/4))) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 (*.f64 im (pow.f64 re -1/4)) (/.f64 (pow.f64 re 1/12) 1/2)))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2))) (/.f64 (cbrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im)))) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) (/.f64 (cbrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im))) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)) (/.f64 (cbrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (cbrt.f64 (sqrt.f64 re))) (/.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (pow.f64 re 1/12)))
(*.f64 (/.f64 im (/.f64 (cbrt.f64 (sqrt.f64 re)) 1/2)) (/.f64 (pow.f64 re -1/4) (pow.f64 re 1/12)))
(*.f64 (*.f64 1/2 (/.f64 im (cbrt.f64 (sqrt.f64 re)))) (/.f64 (pow.f64 re -1/4) (pow.f64 re 1/12)))
(*.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/8)) (pow.f64 re -3/8))
(/.f64 (*.f64 (*.f64 1/2 im) (pow.f64 re -3/8)) (pow.f64 re 1/8))
(/.f64 (*.f64 1/2 im) (/.f64 (pow.f64 re 1/8) (pow.f64 re -3/8)))
(*.f64 (/.f64 (*.f64 (pow.f64 re -3/8) im) (pow.f64 re 1/8)) 1/2)
(*.f64 (pow.f64 re -1/8) (/.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (pow.f64 re 1/8)))
(*.f64 (pow.f64 re -1/8) (/.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)) (pow.f64 re 1/8)))
(*.f64 (pow.f64 re -1/8) (*.f64 (/.f64 1/2 (pow.f64 re 1/8)) (/.f64 im (pow.f64 re 1/4))))
(*.f64 (pow.f64 re -1/8) (/.f64 (*.f64 1/2 im) (pow.f64 (pow.f64 re 1/8) 3)))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (pow.f64 re 1/8)) (/.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (pow.f64 re 1/8)))
(*.f64 (cbrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im)))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/12))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/12))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/12))))
(pow.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 1)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re) 1/2)
(sqrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im))))
(sqrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im)))
(pow.f64 (pow.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 3) 1/3)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 3)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 2)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (/.f64 1 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) -1)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (exp.f64 1) (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (/.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3) (pow.f64 re 3/4)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)) 3) (pow.f64 re 3/4)))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/4))) 3) (pow.f64 re 3/4)))
(cbrt.f64 (*.f64 (/.f64 1/8 (pow.f64 re 3/4)) (pow.f64 (*.f64 im (pow.f64 re -1/4)) 3)))
(pow.f64 (/.f64 (sqrt.f64 re) (*.f64 im 1/2)) -1)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 1) -1)
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2))))) (sqrt.f64 (log.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2))))
(neg.f64 (/.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) (neg.f64 (pow.f64 re 1/4))))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(sqrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) re))
(sqrt.f64 (/.f64 1/4 (/.f64 re (*.f64 im im))))
(sqrt.f64 (*.f64 (/.f64 1/4 re) (*.f64 im im)))
(log.f64 (exp.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(cbrt.f64 (pow.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) 3))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3) (pow.f64 re 3/4)))
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)) 3) (pow.f64 re 3/4)))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/4))) 3) (pow.f64 re 3/4)))
(cbrt.f64 (*.f64 (/.f64 1/8 (pow.f64 re 3/4)) (pow.f64 (*.f64 im (pow.f64 re -1/4)) 3)))
(expm1.f64 (log1p.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(log1p.f64 (expm1.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 1))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 1/3))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 3))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) 2))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)))) -1))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) 1) 1))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (log.f64 (sqrt.f64 re))))
(/.f64 im (/.f64 (sqrt.f64 re) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1/2)
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) (*.f64 1/4 (log.f64 re))))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(exp.f64 (-.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) (*.f64 -1/4 (log.f64 re))))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(exp.f64 (+.f64 (*.f64 -1/4 (log.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1)))
(*.f64 (*.f64 1/2 im) (pow.f64 re -1/2))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(+.f64 0 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(*.f64 (pow.f64 re -1/4) (log.f64 (sqrt.f64 (exp.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))) 1)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 im (/.f64 1 (*.f64 (pow.f64 re 1/4) 2)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 (*.f64 im 1/2) (pow.f64 re -1/4))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 1)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 1 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im)))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)))
(*.f64 (cbrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im)))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re -1/4)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (sqrt.f64 (*.f64 im 1/2)) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re -1/4)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (*.f64 im -1/2) (/.f64 1 (neg.f64 (pow.f64 re 1/4))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (pow.f64 re -1/4) (*.f64 im 1/2))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (/.f64 im (pow.f64 re 1/4)) 1/2)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 (*.f64 im 1/2) (pow.f64 re 1/12)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (/.f64 im (/.f64 (pow.f64 re 1/12) 1/2)))
(*.f64 (pow.f64 (pow.f64 re 1/12) -2) (*.f64 1/2 (/.f64 im (pow.f64 re 1/12))))
(*.f64 (pow.f64 re -1/8) (/.f64 (*.f64 im 1/2) (pow.f64 re 1/8)))
(*.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/8)) (pow.f64 re -1/8))
(/.f64 (pow.f64 re -1/8) (/.f64 (pow.f64 re 1/8) (*.f64 1/2 im)))
(*.f64 (*.f64 im (/.f64 1/2 (pow.f64 re 1/8))) (pow.f64 re -1/8))
(*.f64 (/.f64 im 1) (/.f64 1/2 (pow.f64 re 1/4)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/4)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) 1) (sqrt.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (/.f64 im (/.f64 (sqrt.f64 re) 1/2))))
(*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (*.f64 (/.f64 im (sqrt.f64 re)) 1/2)))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (pow.f64 re 1/12)))
(*.f64 (/.f64 1/2 (cbrt.f64 (sqrt.f64 re))) (/.f64 im (pow.f64 re 1/12)))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (pow.f64 re 1/12)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (cbrt.f64 (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (pow.f64 re 1/12)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (cbrt.f64 (sqrt.f64 re))) (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (pow.f64 re 1/12)))
(*.f64 (/.f64 im (pow.f64 re 1/8)) (/.f64 1/2 (pow.f64 re 1/8)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (/.f64 1/2 (pow.f64 re 1/8)) (/.f64 im (pow.f64 re 1/8)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (pow.f64 re 1/8)) (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 1)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(pow.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re)) 1/2)
(sqrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im))))
(sqrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im)))
(sqrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3) 1/3)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(pow.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12)) 3)
(pow.f64 (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)) 3)
(/.f64 (*.f64 1/2 im) (pow.f64 (pow.f64 re 1/12) 3))
(pow.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8)) 2)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(pow.f64 (/.f64 (pow.f64 re 1/4) (*.f64 im 1/2)) -1)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(pow.f64 (/.f64 (pow.f64 (*.f64 im 1/2) 3) (pow.f64 re 3/4)) 1/3)
(cbrt.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/8) (pow.f64 re 3/4)))
(cbrt.f64 (/.f64 (*.f64 1/8 (pow.f64 im 3)) (pow.f64 re 3/4)))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/4)) 1/8))
(pow.f64 (/.f64 (/.f64 (pow.f64 re 1/4) (*.f64 im 1/2)) 1) -1)
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/4))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/4))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/4))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/4))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 1/2 im) (pow.f64 re 1/4)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))))) (sqrt.f64 (log.f64 (*.f64 im (*.f64 1/2 (pow.f64 re -1/4))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (pow.f64 re -1/4))))))
(neg.f64 (/.f64 (*.f64 im 1/2) (neg.f64 (pow.f64 re 1/4))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(sqrt.f64 (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 re)))
(sqrt.f64 (/.f64 1/4 (/.f64 (sqrt.f64 re) (*.f64 im im))))
(sqrt.f64 (*.f64 (/.f64 1/4 (sqrt.f64 re)) (*.f64 im im)))
(sqrt.f64 (/.f64 (*.f64 im (*.f64 im 1/4)) (sqrt.f64 re)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (pow.f64 re -1/4)))))
(*.f64 (pow.f64 re -1/4) (log.f64 (sqrt.f64 (exp.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im 1/2) 3) (pow.f64 re 3/4)))
(cbrt.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/8) (pow.f64 re 3/4)))
(cbrt.f64 (/.f64 (*.f64 1/8 (pow.f64 im 3)) (pow.f64 re 3/4)))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/4)) 1/8))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4))) 3)) 1/3))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (*.f64 (log.f64 (/.f64 (cbrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/12))) 3))
(pow.f64 (/.f64 (cbrt.f64 (*.f64 1/2 im)) (pow.f64 re 1/12)) 3)
(/.f64 (*.f64 1/2 im) (pow.f64 (pow.f64 re 1/12) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (pow.f64 re 1/8))) 2))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 re 1/4) (*.f64 im 1/2))) -1))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 im (pow.f64 re 1/4)))) 1) 1))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (pow.f64 re 1/4) 2))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (*.f64 1/4 (log.f64 re))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (-.f64 (log.f64 (*.f64 im 1/2)) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (*.f64 (*.f64 1/4 (log.f64 re)) 1)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im 1/2)) 1) (*.f64 -1/4 (log.f64 re))))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))
(exp.f64 (+.f64 (*.f64 -1/4 (log.f64 re)) (*.f64 (log.f64 (*.f64 im 1/2)) 1)))
(/.f64 (*.f64 1/2 im) (pow.f64 re 1/4))
(*.f64 im (*.f64 1/2 (pow.f64 re -1/4)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/4)))

eval117.0ms (1.8%)

Compiler

Compiled 4282 to 2827 computations (34% saved)

prune56.0ms (0.8%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New3282330
Fresh000
Picked011
Done3710
Total33110341
Error
0.0b
Counts
341 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
48.7b
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
48.7b
(/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
48.6b
(*.f64 im (sqrt.f64 (/.f64 1/4 re)))
48.6b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
23.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
25.0b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
11.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
23.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
51.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
25.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 99 to 80 computations (19.2% saved)

regimes168.0ms (2.5%)

Counts
21 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 im (sqrt.f64 (/.f64 1/4 re)))
(*.f64 im (/.f64 1/2 (sqrt.f64 re)))
(/.f64 1/2 (/.f64 (sqrt.f64 re) im))
(*.f64 (pow.f64 re -1/2) (*.f64 im 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 (*.f64 (/.f64 1 im) (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) (sqrt.f64 2)))
(/.f64 (/.f64 (*.f64 im 1/2) (pow.f64 re 1/4)) (pow.f64 re 1/4))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (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 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))))
Outputs
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
Calls

8 calls:

56.0ms
re
30.0ms
im
17.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
14.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
14.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
ErrorSegmentsBranch
7.7b4re
10.1b3im
5.6b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
5.6b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
6.0b2(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
6.0b2(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
11.9b1(*.f64 im im)
11.9b1(*.f64 im im)
Compiler

Compiled 291 to 210 computations (27.8% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
7.170984716088688e-153
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes120.0ms (1.8%)

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

4 calls:

58.0ms
re
27.0ms
im
17.0ms
(*.f64 im im)
14.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
11.5b8re
17.6b3im
19.2b2(*.f64 im im)
19.2b2(*.f64 im im)
Compiler

Compiled 114 to 80 computations (29.8% saved)

bsearch226.0ms (3.4%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
3.546546509822184e+184
2.448350403395014e+186
44.0ms
3.2512231576363125e+158
1.8245906315889206e+164
37.0ms
1.2129499488331112e+143
9.304362988425389e+144
46.0ms
3.80777306778764e+71
9.041012431147702e+97
26.0ms
55364702226777230.0
1925624940942616800.0
20.0ms
6.74734992232601e-84
4.742618899191815e-82
18.0ms
-3.6939428391451526e+182
-7.209015503782516e+174
Results
70.0ms174×body2048valid
57.0ms491×body256valid
48.0ms107×body4096valid
27.0ms98×body1024valid
9.0ms42×body512valid
Compiler

Compiled 1182 to 991 computations (16.2% saved)

regimes103.0ms (1.6%)

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

4 calls:

50.0ms
re
25.0ms
im
13.0ms
(*.f64 im im)
12.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
11.5b8re
17.6b3im
19.2b2(*.f64 im im)
19.2b2(*.f64 im im)
Compiler

Compiled 105 to 74 computations (29.5% saved)

bsearch280.0ms (4.2%)

Algorithm
binary-search
Steps
TimeLeftRight
43.0ms
3.546546509822184e+184
2.448350403395014e+186
44.0ms
3.2512231576363125e+158
1.8245906315889206e+164
52.0ms
1.2129499488331112e+143
9.304362988425389e+144
73.0ms
3.80777306778764e+71
9.041012431147702e+97
26.0ms
55364702226777230.0
1925624940942616800.0
22.0ms
6.74734992232601e-84
4.742618899191815e-82
21.0ms
-3.6939428391451526e+182
-7.209015503782516e+174
Results
81.0ms481×body256valid
71.0ms178×body2048valid
67.0ms113×body4096valid
27.0ms96×body1024valid
20.0ms44×body512valid
Compiler

Compiled 1166 to 975 computations (16.4% saved)

regimes68.0ms (1%)

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

2 calls:

39.0ms
re
27.0ms
im
Results
ErrorSegmentsBranch
11.5b8re
17.6b3im
Compiler

Compiled 61 to 43 computations (29.5% saved)

bsearch265.0ms (4%)

Algorithm
binary-search
Steps
TimeLeftRight
36.0ms
3.546546509822184e+184
2.448350403395014e+186
41.0ms
3.2512231576363125e+158
1.8245906315889206e+164
34.0ms
1.2129499488331112e+143
9.304362988425389e+144
81.0ms
3.80777306778764e+71
9.041012431147702e+97
26.0ms
55364702226777230.0
1925624940942616800.0
28.0ms
6.74734992232601e-84
4.742618899191815e-82
18.0ms
-3.6939428391451526e+182
-7.209015503782516e+174
Results
90.0ms154×body2048valid
60.0ms128×body4096valid
53.0ms468×body256valid
37.0ms112×body1024valid
10.0ms50×body512valid
Compiler

Compiled 1130 to 939 computations (16.9% saved)

regimes75.0ms (1.1%)

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

2 calls:

50.0ms
re
23.0ms
im
Results
ErrorSegmentsBranch
13.1b5re
18.5b3im
Compiler

Compiled 53 to 37 computations (30.2% saved)

bsearch132.0ms (2%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
3.546546509822184e+184
2.448350403395014e+186
56.0ms
55364702226777230.0
1925624940942616800.0
18.0ms
6.74734992232601e-84
4.742618899191815e-82
23.0ms
-1.5020559922919198e+91
-9.022923633634432e+77
Results
54.0ms67×body2048valid
42.0ms347×body256valid
16.0ms31×body4096valid
10.0ms37×body1024valid
3.0ms14×body512valid
Compiler

Compiled 600 to 511 computations (14.8% saved)

regimes48.0ms (0.7%)

Accuracy

Total -42.5b remaining (-221%)

Threshold costs -42.5b (-221%)

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

2 calls:

30.0ms
im
17.0ms
re
Results
ErrorSegmentsBranch
19.2b4re
20.0b2im
Compiler

Compiled 45 to 30 computations (33.3% saved)

bsearch110.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
3.546546509822184e+184
2.448350403395014e+186
54.0ms
55364702226777230.0
1925624940942616800.0
23.0ms
6.74734992232601e-84
4.742618899191815e-82
Results
60.0ms69×body2048valid
22.0ms189×body256valid
11.0ms25×body4096valid
9.0ms33×body1024valid
4.0ms20×body512valid
Compiler

Compiled 400 to 331 computations (17.3% saved)

simplify25.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0101561
1122561
2128561
3130561
4131561
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 -8200000000000000609386758826961482264858739120610900803093405131809736449390677926230208130603622074082501560254532314673159540889399233242350093290520933062104406626297446400) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))) (if (<=.f64 re 350000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 105999999999999995552434060677188878468130368696079484090978341577361916143075328) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -7400000000000000378481884698142207211178217785445284761720835183663792912378646367427353195930102911403694772977761740150133662147106658535464335122912957542001416465150902272) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 250000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 479999999999999961255303501571367659355362413415489724949263009817034752) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -7400000000000000378481884698142207211178217785445284761720835183663792912378646367427353195930102911403694772977761740150133662147106658535464335122912957542001416465150902272) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 546812681195753/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 1500000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 419999999999999978358354890802057568802718328941026978280518111058722816) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (*.f64 im (sqrt.f64 (/.f64 1/4 re))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -4900000000000000002672943162401239977405652017766555265954103135428136633205384019968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 750000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))
(if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 65000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.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 -8200000000000000609386758826961482264858739120610900803093405131809736449390677926230208130603622074082501560254532314673159540889399233242350093290520933062104406626297446400) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))) (if (<=.f64 re 350000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 105999999999999995552434060677188878468130368696079484090978341577361916143075328) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -8200000000000000609386758826961482264858739120610900803093405131809736449390677926230208130603622074082501560254532314673159540889399233242350093290520933062104406626297446400) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))) (if (<=.f64 re 350000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 105999999999999995552434060677188878468130368696079484090978341577361916143075328) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (/.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 1 im))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -7400000000000000378481884698142207211178217785445284761720835183663792912378646367427353195930102911403694772977761740150133662147106658535464335122912957542001416465150902272) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 250000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 479999999999999961255303501571367659355362413415489724949263009817034752) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (/.f64 1/2 (*.f64 (/.f64 1 im) (sqrt.f64 re))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -7400000000000000378481884698142207211178217785445284761720835183663792912378646367427353195930102911403694772977761740150133662147106658535464335122912957542001416465150902272) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 250000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 479999999999999961255303501571367659355362413415489724949263009817034752) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (/.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 1 im))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -7400000000000000378481884698142207211178217785445284761720835183663792912378646367427353195930102911403694772977761740150133662147106658535464335122912957542001416465150902272) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 546812681195753/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 1500000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 419999999999999978358354890802057568802718328941026978280518111058722816) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 8999999999999999347249611815105304598423488805744482363374598843089457125103316211044439964686742447172111814660942889247387293090394537606512640) (*.f64 im (sqrt.f64 (/.f64 1/4 re))) (if (<=.f64 re 330000000000000017372898738662976891744355686154932555433227815493911249107050155876528364575990010268431553950700160315550043099259223117062971541994854154240) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))))))))
(if (<=.f64 re -4900000000000000002672943162401239977405652017766555265954103135428136633205384019968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 750000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))))
(if (<=.f64 re 4015655627531311/8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746304) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 65000000000000000) (*.f64 1/2 (/.f64 im (sqrt.f64 re))) (if (<=.f64 re 36000000000000001379632547975196903415127225620636878387910639715674784262955728098851702999577612631060656509587574419502096368542262833286207604835006720344158299580220964576706953216) (*.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 387 to 281 computations (27.4% saved)

soundness231.0ms (3.5%)

Algorithm
egg-herbie
Rules
606×associate-/r*_binary64
583×associate-/l*_binary64
516×log-prod_binary64
465×fma-def_binary64
332×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
02812004
17831884
227311800
03031517
16651347
217431347
359641296
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 244 to 194 computations (20.5% saved)

end167.0ms (2.5%)

Compiler

Compiled 375 to 257 computations (31.5% saved)

Profiling

Loading profile data...