Details

Time bar (total: 7.3s)

analyze177.0ms (2.4%)

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 (21.5%)

Results
824.0ms6446×body256valid
287.0ms530×body4096valid
267.0ms648×body2048valid
128.0ms414×body1024valid
54.0ms218×body512valid
Bogosity

preprocess50.0ms (0.7%)

Algorithm
egg-herbie
Rules
544×fma-def
186×associate--r+
158×associate-+l-
158×distribute-lft-in
112×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02158
13658
25458
39158
412858
518258
633058
750858
870258
986258
10105958
11124158
12126258
13126658
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)

simplify46.0ms (0.6%)

Algorithm
egg-herbie
Rules
364×fma-def
132×associate--r+
108×associate-+l-
100×distribute-lft-in
90×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
12329
23629
35529
47729
510829
619429
730229
841329
950629
1060529
1167929
1271029
1376229
1481229
1587329
1693329
1794329
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
13.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
Compiler

Compiled 12 to 9 computations (25% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.7b
(-.f64 (hypot.f64 re im) re)
Compiler

Compiled 39 to 16 computations (59% saved)

series6.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1454×add-sqr-sqrt
1440×*-un-lft-identity
1342×add-cube-cbrt
1328×add-cbrt-cube
1316×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify71.0ms (1%)

Algorithm
egg-herbie
Rules
1278×fma-def
1206×times-frac
794×associate-+l-
752×+-commutative
740×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01751942
15081834
218791820
370201820
Stop Event
node limit
Counts
60 → 96
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 (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 (sqrt.f64 re)) (sqrt.f64 re) re))
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2) 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 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 (-.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 (-.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) 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 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))
(/.f64 1 (/.f64 (+.f64 re (hypot.f64 re im)) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re 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) 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) 2) (*.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 (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 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (+.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))))))
(pow.f64 (-.f64 (hypot.f64 re im) re) 1)
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 1/3)
(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)))
(exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))
(log1p.f64 (expm1.f64 (-.f64 (hypot.f64 re im) re)))
(fma.f64 1 (hypot.f64 re im) (neg.f64 re))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (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))
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)
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (-.f64 im re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) 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)
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) (-.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 1/2 (/.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 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/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 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 -1/2 (pow.f64 re 7)) (*.f64 (pow.f64 im 8) 5/64)))))
(*.f64 -2 re)
(*.f64 re -2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 re -2))
(fma.f64 re -2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re)))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 re -2)))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 re -2)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 re -2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 re -2))))
(fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 re -2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -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 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 8)) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) (/.f64 re (pow.f64 im 8))) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/2 (/.f64 (+.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 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (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)))) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))
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)
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (-.f64 im re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) 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)
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) (-.f64 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 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im)) re)
(fma.f64 (*.f64 (/.f64 re im) re) -1/2 (-.f64 (neg.f64 im) re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 -1 re (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im))) re)
(-.f64 (-.f64 (fma.f64 (*.f64 (/.f64 re im) re) -1/2 (/.f64 (pow.f64 re 4) (/.f64 (pow.f64 im 3) 1/8))) im) re)
(+.f64 (hypot.f64 re im) (neg.f64 re))
(-.f64 (hypot.f64 re im) re)
(+.f64 (hypot.f64 re im) (*.f64 (neg.f64 re) 1))
(-.f64 (hypot.f64 re im) re)
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 re) 1 re))
(-.f64 (hypot.f64 re im) re)
(+.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) 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 (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 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 (-.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 (-.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 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) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (+.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 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 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 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (+.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) 2) (*.f64 re re)) (/.f64 1 (+.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) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (+.f64 re (hypot.f64 re im)))))
(/.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)))
(/.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) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (+.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) 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 (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 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (+.f64 re (hypot.f64 re im)))))
(pow.f64 (-.f64 (hypot.f64 re im) re) 1)
(-.f64 (hypot.f64 re im) re)
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
(-.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 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 1/3)
(-.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)
(exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re)))
(-.f64 (hypot.f64 re im) re)
(exp.f64 (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))
(-.f64 (hypot.f64 re im) re)
(log1p.f64 (expm1.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 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (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)

eval33.0ms (0.5%)

Compiler

Compiled 2052 to 1341 computations (34.6% saved)

prune18.0ms (0.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New91596
Fresh000
Picked011
Done000
Total91697
Error
6.6b
Counts
97 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
29.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
55.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
31.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 124 to 101 computations (18.5% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series4.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1928×add-sqr-sqrt
1906×*-un-lft-identity
1780×add-cube-cbrt
1764×add-cbrt-cube
188×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Rules
1408×associate-*r/
1292×associate-/r*
1108×associate-*l/
886×associate-/r/
532×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231287
12881275
28441235
329931147
Stop Event
node limit
Counts
33 → 63
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 (exp.f64 (log1p.f64 (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 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (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 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 2)) (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 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 2) 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)) 1/4) 2)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(log1p.f64 (expm1.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 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (/.f64 im (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 1/2 im) (sqrt.f64 -1)) (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 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (*.f64 im im) -1) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(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 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))) (*.f64 1/2 (*.f64 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (*.f64 im im) -1) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im))))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (/.f64 im -1) im) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(fma.f64 (sqrt.f64 2) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (*.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 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/8) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 re re) (*.f64 -1/8 (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 2) (+.f64 (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 im)) (*.f64 (*.f64 re re) (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/16) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.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 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 3/2)
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 3/2)
(pow.f64 (*.f64 2 (-.f64 im re)) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3)
(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))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (-.f64 im re))) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))

localize7.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize11.0ms (0.2%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 52 to 24 computations (53.8% saved)

series7.0ms (0.1%)

Counts
4 → 84
Calls

24 calls:

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

rewrite87.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1502×associate-/l*
1130×*-commutative
748×swap-sqr
712×unswap-sqr
692×associate-/r/
Iterations

Useful iterations: 2 (0.0ms)

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

simplify191.0ms (2.6%)

Algorithm
egg-herbie
Rules
1650×distribute-lft-in
924×associate-*r*
842×associate-*l*
754×*-commutative
662×associate-*r/
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05237642
114697494
258527494
Stop Event
node limit
Counts
354 → 338
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 (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 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) (pow.f64 1 1/2))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 im re) 1/2))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (sqrt.f64 im))
(*.f64 (/.f64 (sqrt.f64 im) 1) (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 (/.f64 im re) 1/2) (sqrt.f64 im))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 im)))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))
(/.f64 im (sqrt.f64 re))
(/.f64 im (/.f64 (sqrt.f64 re) 1))
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 im))))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (sqrt.f64 im))))
(/.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (/.f64 re (neg.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (cbrt.f64 im))))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) 1)
(/.f64 1/2 (/.f64 re (*.f64 im im)))
(/.f64 im (/.f64 (/.f64 re im) 1/2))
(/.f64 1 (/.f64 re (*.f64 (*.f64 1/2 im) im)))
(/.f64 (*.f64 1/2 im) (/.f64 re im))
(/.f64 (neg.f64 im) (/.f64 (/.f64 re (neg.f64 im)) 1/2))
(/.f64 (sqrt.f64 (*.f64 1/2 im)) (/.f64 (/.f64 re im) (sqrt.f64 (*.f64 1/2 im))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 1/2 im))) (/.f64 (/.f64 re im) (cbrt.f64 (*.f64 1/2 im))))
(/.f64 (*.f64 1/2 (sqrt.f64 im)) (/.f64 re (*.f64 im (sqrt.f64 im))))
(/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) (/.f64 re (*.f64 im (cbrt.f64 im))))
(/.f64 (*.f64 im -1/2) (/.f64 re (neg.f64 im)))
(/.f64 (/.f64 1/2 (/.f64 re im)) (/.f64 1 im))
(/.f64 (/.f64 im 2) (/.f64 re im))
(/.f64 (*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 im re))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (/.f64 re im)))
(pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 1)
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3) 1/3)
(neg.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/2))
(neg.f64 (*.f64 1/2 (*.f64 (/.f64 im re) (neg.f64 im))))
(neg.f64 (*.f64 (/.f64 (*.f64 1/2 im) (neg.f64 re)) im))
(neg.f64 (/.f64 (*.f64 1/2 im) (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (/.f64 im re)) 2)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 2 (*.f64 1/2 (*.f64 im (/.f64 im re))))
(*.f64 1/2 (*.f64 2 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 im (*.f64 (pow.f64 (/.f64 im re) 1/2) (pow.f64 (/.f64 im re) 1/2)))
(*.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 2)
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 1 (*.f64 im (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (/.f64 im re)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (*.f64 2 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 1 (/.f64 (cbrt.f64 (/.f64 re im)) (/.f64 im (cbrt.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (cbrt.f64 im) (/.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2) (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 (/.f64 im re) im)
(*.f64 (/.f64 im re) (/.f64 im 1))
(*.f64 (neg.f64 im) (/.f64 im (neg.f64 re)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 2 (*.f64 im (/.f64 im re))) 1/2)
(*.f64 (*.f64 2 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2)) (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 2)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 im re)) (cbrt.f64 im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 1 re) (*.f64 im im))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 im 1) im))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 im (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (/.f64 im (cbrt.f64 (/.f64 re im))))
(*.f64 (*.f64 (/.f64 im 1) im) (/.f64 1 re))
(*.f64 (/.f64 im (cbrt.f64 (/.f64 re im))) (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)))
(*.f64 (/.f64 1 (neg.f64 re)) (neg.f64 (*.f64 im im)))
(*.f64 (/.f64 (sqrt.f64 im) re) (*.f64 (/.f64 im 1) (sqrt.f64 im)))
(*.f64 (*.f64 (/.f64 im 1) (sqrt.f64 im)) (/.f64 (sqrt.f64 im) re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (*.f64 (sqrt.f64 im) (/.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 im) (/.f64 im re)) (sqrt.f64 im))
(*.f64 (*.f64 (sqrt.f64 im) (/.f64 im re)) (/.f64 (sqrt.f64 im) 1))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))) (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (*.f64 (/.f64 im 1) (cbrt.f64 im)))
(*.f64 (*.f64 (/.f64 im 1) (cbrt.f64 im)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (*.f64 (cbrt.f64 im) (/.f64 im re)))
(*.f64 (*.f64 (cbrt.f64 im) (/.f64 im re)) (cbrt.f64 (*.f64 im im)))
(*.f64 (*.f64 (cbrt.f64 im) (/.f64 im re)) (/.f64 (cbrt.f64 (*.f64 im im)) 1))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 (/.f64 re im))) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 1 (/.f64 (cbrt.f64 (/.f64 re im)) (/.f64 im (cbrt.f64 re)))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (/.f64 im (neg.f64 re)) (neg.f64 im))
(*.f64 (/.f64 im (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re im)) (cbrt.f64 im))
(*.f64 (/.f64 im -1) (/.f64 im (neg.f64 re)))
(*.f64 (/.f64 im (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (/.f64 1 (/.f64 re (*.f64 im (cbrt.f64 (*.f64 im im))))) (cbrt.f64 im))
(*.f64 (/.f64 (/.f64 im re) (/.f64 1 (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 (/.f64 (/.f64 im re) (/.f64 1 (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (/.f64 (/.f64 im re) -1) (neg.f64 im))
(*.f64 (/.f64 (neg.f64 im) -1) (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) re) im)
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) 1) (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (neg.f64 re)) (neg.f64 im))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re 1)) im)
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) -1) (/.f64 im (neg.f64 re)))
(*.f64 (/.f64 (/.f64 im 1) 1) (/.f64 im re))
(*.f64 (/.f64 (/.f64 im 1) (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 (/.f64 (/.f64 im 1) (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 (/.f64 im 1) (neg.f64 re)) (neg.f64 im))
(*.f64 (/.f64 (/.f64 im 1) (/.f64 re 1)) im)
(*.f64 (/.f64 (/.f64 im 1) (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 (/.f64 (/.f64 im 1) (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (/.f64 (/.f64 im 1) -1) (/.f64 im (neg.f64 re)))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) 1) (sqrt.f64 (/.f64 im re)))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 re)) (sqrt.f64 im))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 im)))
(*.f64 (/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) 1) (cbrt.f64 (/.f64 im re)))
(*.f64 (/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 re)) (cbrt.f64 im))
(*.f64 (/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (neg.f64 re))) (cbrt.f64 (neg.f64 im)))
(*.f64 (*.f64 (pow.f64 (/.f64 im re) 1/2) (pow.f64 (/.f64 im re) 1/2)) im)
(*.f64 (*.f64 (pow.f64 1 1/2) (pow.f64 1 1/2)) (*.f64 im (/.f64 im re)))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2)) (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2)))
(*.f64 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 im) (sqrt.f64 re))) (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 im) (sqrt.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (*.f64 im (/.f64 im re)))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(neg.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(neg.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
(neg.f64 (*.f64 im (/.f64 im (neg.f64 re))))
(neg.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1))
(neg.f64 (*.f64 1 (*.f64 (/.f64 im re) (neg.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 (/.f64 re im) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(/.f64 2 (/.f64 re (*.f64 (*.f64 1/2 im) im)))
(/.f64 im (/.f64 re im))
(/.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (sqrt.f64 re) (/.f64 1 im)))
(/.f64 1 (/.f64 re (*.f64 im im)))
(/.f64 1 (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (cbrt.f64 (*.f64 im im))))
(/.f64 (sqrt.f64 im) (/.f64 re (*.f64 im (sqrt.f64 im))))
(/.f64 (sqrt.f64 im) (/.f64 (/.f64 re (neg.f64 im)) (neg.f64 (sqrt.f64 im))))
(/.f64 (sqrt.f64 im) (*.f64 (/.f64 1 im) (/.f64 re (sqrt.f64 im))))
(/.f64 (cbrt.f64 im) (/.f64 re (*.f64 im (cbrt.f64 (*.f64 im im)))))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re (*.f64 im (sqrt.f64 im))) (cbrt.f64 (sqrt.f64 im))))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (cbrt.f64 im)))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re (*.f64 im (cbrt.f64 im))))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (/.f64 re (neg.f64 im)) (neg.f64 (cbrt.f64 im))))
(/.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (/.f64 1 im) (/.f64 re (cbrt.f64 im))))
(/.f64 (*.f64 im im) re)
(/.f64 (*.f64 1/2 im) (/.f64 (/.f64 re im) 2))
(/.f64 (/.f64 im re) (/.f64 1 im))
(/.f64 (neg.f64 im) (/.f64 re (neg.f64 im)))
(/.f64 (sqrt.f64 (/.f64 im re)) (/.f64 (/.f64 1 im) (sqrt.f64 (/.f64 im re))))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (/.f64 re (*.f64 im (sqrt.f64 im))) (sqrt.f64 (sqrt.f64 im))))
(/.f64 (sqrt.f64 (neg.f64 im)) (/.f64 (/.f64 re (neg.f64 im)) (sqrt.f64 (neg.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (*.f64 im (sqrt.f64 im))) (sqrt.f64 (cbrt.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im re)) (cbrt.f64 (/.f64 im re))) (/.f64 (/.f64 1 im) (cbrt.f64 (/.f64 im re))))
(/.f64 (*.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 im))) (/.f64 (/.f64 re (neg.f64 im)) (cbrt.f64 (neg.f64 im))))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))) (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (*.f64 im (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(/.f64 (*.f64 im (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 im)))
(/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re im))
(/.f64 (/.f64 im 1) (/.f64 re im))
(/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (/.f64 re im)))
(/.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (*.f64 (cbrt.f64 re) (/.f64 1 im)))
(/.f64 (/.f64 1 re) (*.f64 (/.f64 1 im) (/.f64 1 im)))
(/.f64 (/.f64 1 re) (/.f64 1 (*.f64 im im)))
(/.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 (/.f64 1 im) (/.f64 (sqrt.f64 im) (sqrt.f64 re))))
(/.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (*.f64 (/.f64 1 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (*.f64 (/.f64 1 im) (cbrt.f64 (/.f64 re im))))
(/.f64 (/.f64 1 (neg.f64 re)) (/.f64 (/.f64 1 im) (neg.f64 im)))
(/.f64 -1 (/.f64 re (neg.f64 (*.f64 im im))))
(/.f64 -1 (*.f64 (/.f64 1 im) (/.f64 re (neg.f64 im))))
(/.f64 (neg.f64 (sqrt.f64 im)) (/.f64 (/.f64 re (neg.f64 im)) (sqrt.f64 im)))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (neg.f64 im)) (cbrt.f64 im)))
(/.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 re (*.f64 im (sqrt.f64 im))))
(/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (/.f64 re (*.f64 im (cbrt.f64 im))))
(/.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (/.f64 1 im) (/.f64 im (sqrt.f64 re))))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (/.f64 1 im) (/.f64 im (cbrt.f64 re))))
(/.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (/.f64 1 im) (/.f64 (sqrt.f64 im) (cbrt.f64 re))))
(/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (/.f64 (/.f64 1 im) (/.f64 (cbrt.f64 im) (sqrt.f64 re))))
(/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (/.f64 1 im) (/.f64 (cbrt.f64 im) (cbrt.f64 re))))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(neg.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(neg.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
(neg.f64 (*.f64 im (/.f64 im (neg.f64 re))))
(neg.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1))
(neg.f64 (*.f64 1 (*.f64 (/.f64 im re) (neg.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 (/.f64 re im) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) (pow.f64 1 1/2))
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 im re) 1/2))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (sqrt.f64 2))
(*.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))
(*.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (sqrt.f64 im))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 (/.f64 im re) 1/2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 im)))
(/.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (neg.f64 im))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))))
(/.f64 im (sqrt.f64 re))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))))))
(/.f64 im (sqrt.f64 re))
(/.f64 im (/.f64 (sqrt.f64 re) 1))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 re)) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))) (cbrt.f64 (sqrt.f64 im)))
(*.f64 (cbrt.f64 (sqrt.f64 im)) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 re)) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (sqrt.f64 im)))
(*.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (sqrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))))
(/.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (/.f64 re (neg.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (cbrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (cbrt.f64 im)))
(*.f64 (sqrt.f64 (cbrt.f64 im)) (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (sqrt.f64 (/.f64 re im))))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(/.f64 im (sqrt.f64 re))
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.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))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) 1)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 1/2 (/.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 im (/.f64 (/.f64 re im) 1/2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 1 (/.f64 re (*.f64 (*.f64 1/2 im) im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (*.f64 1/2 im) (/.f64 re im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (neg.f64 im) (/.f64 (/.f64 re (neg.f64 im)) 1/2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (sqrt.f64 (*.f64 1/2 im)) (/.f64 (/.f64 re im) (sqrt.f64 (*.f64 1/2 im))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im 1/2)) (/.f64 re im)) (sqrt.f64 (*.f64 im 1/2)))
(*.f64 (sqrt.f64 (*.f64 im 1/2)) (/.f64 (sqrt.f64 (*.f64 im 1/2)) (/.f64 re im)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 1/2 im))) (/.f64 (/.f64 re im) (cbrt.f64 (*.f64 1/2 im))))
(/.f64 (cbrt.f64 (*.f64 im 1/2)) (/.f64 (/.f64 (/.f64 re im) (cbrt.f64 (*.f64 im 1/2))) (cbrt.f64 (*.f64 im 1/2))))
(/.f64 (cbrt.f64 (*.f64 im 1/2)) (/.f64 (/.f64 re (*.f64 im (cbrt.f64 (*.f64 im 1/2)))) (cbrt.f64 (*.f64 im 1/2))))
(/.f64 (*.f64 1/2 (sqrt.f64 im)) (/.f64 re (*.f64 im (sqrt.f64 im))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) (/.f64 re (*.f64 im (cbrt.f64 im))))
(*.f64 (/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) re) (*.f64 im (cbrt.f64 im)))
(*.f64 (*.f64 im (cbrt.f64 im)) (/.f64 1/2 (/.f64 re (cbrt.f64 (*.f64 im im)))))
(/.f64 (*.f64 im -1/2) (/.f64 re (neg.f64 im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (/.f64 1/2 (/.f64 re im)) (/.f64 1 im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (/.f64 im 2) (/.f64 re im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(/.f64 (*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 im re))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 im 2) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (/.f64 im re))))
(*.f64 (/.f64 (/.f64 im 2) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 1)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) 2)
(pow.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 3)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3) 1/3)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(neg.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(neg.f64 (*.f64 1/2 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(neg.f64 (*.f64 (/.f64 (*.f64 1/2 im) (neg.f64 re)) im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(neg.f64 (/.f64 (*.f64 1/2 im) (/.f64 re (neg.f64 im))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (/.f64 im re)) 2)))
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 im (/.f64 1/2 re))) 2))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (/.f64 im re))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 im (/.f64 1/2 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 im (/.f64 im re))
(*.f64 2 (*.f64 1/2 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 1/2 (*.f64 2 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 im (*.f64 (pow.f64 (/.f64 im re) 1/2) (pow.f64 (/.f64 im re) 1/2)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 2)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 1 (*.f64 im (/.f64 im re)))
(*.f64 im (/.f64 im re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (/.f64 im re)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (*.f64 2 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))))
(*.f64 2 (pow.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) 2))
(*.f64 2 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) 2))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 (/.f64 im (sqrt.f64 re)) 2)))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 (/.f64 im (sqrt.f64 re)) 2)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(*.f64 im (/.f64 im re))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 1 (/.f64 (cbrt.f64 (/.f64 re im)) (/.f64 im (cbrt.f64 re)))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1) (/.f64 (cbrt.f64 (/.f64 re im)) (/.f64 im (cbrt.f64 re))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 re im))) (/.f64 im (cbrt.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 im re)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (cbrt.f64 im) (/.f64 im re)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2)))
(*.f64 im (/.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2) (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im re) (/.f64 im 1))
(*.f64 im (/.f64 im re))
(*.f64 (neg.f64 im) (/.f64 im (neg.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 (*.f64 2 (*.f64 im (/.f64 im re))) 1/2)
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 2 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))
(*.f64 2 (pow.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) 2))
(*.f64 2 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)) 2))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2)) (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 2)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 (/.f64 im (sqrt.f64 re)) 2)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 im re)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 2))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 1/2))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 (/.f64 im (sqrt.f64 re)) 2)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (sqrt.f64 im) (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 im (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 im (cbrt.f64 re)) (/.f64 im (pow.f64 (cbrt.f64 re) 2)))
(/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) (/.f64 im (cbrt.f64 re))))
(*.f64 (/.f64 1 re) (*.f64 im im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 im 1) im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 im (sqrt.f64 (/.f64 re im))))
(*.f64 (sqrt.f64 im) (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 re)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (/.f64 im (cbrt.f64 (/.f64 re im))))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im 1) im) (/.f64 1 re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (cbrt.f64 (/.f64 re im))) (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 1 (neg.f64 re)) (neg.f64 (*.f64 im im)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (sqrt.f64 im) re) (*.f64 (/.f64 im 1) (sqrt.f64 im)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im 1) (sqrt.f64 im)) (/.f64 (sqrt.f64 im) re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (*.f64 (sqrt.f64 im) (/.f64 im re)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (sqrt.f64 im) (/.f64 im re)) (sqrt.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (sqrt.f64 im) (/.f64 im re)) (/.f64 (sqrt.f64 im) 1))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))) (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (*.f64 (/.f64 im 1) (cbrt.f64 im)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (*.f64 (/.f64 im 1) (cbrt.f64 im)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (*.f64 (cbrt.f64 im) (/.f64 im re)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (*.f64 (cbrt.f64 im) (/.f64 im re)) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (*.f64 (cbrt.f64 im) (/.f64 im re)) (/.f64 (cbrt.f64 (*.f64 im im)) 1))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 (/.f64 re im))) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 (/.f64 re im))) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 1 (/.f64 (cbrt.f64 (/.f64 re im)) (/.f64 im (cbrt.f64 re)))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1) (/.f64 (cbrt.f64 (/.f64 re im)) (/.f64 im (cbrt.f64 re))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 re im))) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 im (neg.f64 re)) (neg.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re im)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 im -1) (/.f64 im (neg.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 1 (/.f64 re (*.f64 im (cbrt.f64 (*.f64 im im))))) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 (/.f64 im re) (/.f64 1 (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (/.f64 im re) (/.f64 1 (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 (/.f64 im re) -1) (neg.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (neg.f64 im) -1) (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) re) im)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) 1) (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 im (cbrt.f64 re)) (/.f64 im (pow.f64 (cbrt.f64 re) 2)))
(/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) (/.f64 im (cbrt.f64 re))))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (neg.f64 re)) (neg.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re 1)) im)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 (*.f64 2 (*.f64 1/2 im)) -1) (/.f64 im (neg.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (/.f64 im 1) 1) (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (/.f64 im 1) (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 (/.f64 (/.f64 im 1) (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 im (cbrt.f64 re)) (/.f64 im (pow.f64 (cbrt.f64 re) 2)))
(/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) (/.f64 im (cbrt.f64 re))))
(*.f64 (/.f64 (/.f64 im 1) (neg.f64 re)) (neg.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (/.f64 im 1) (/.f64 re 1)) im)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (/.f64 im 1) (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (/.f64 im 1) (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(*.f64 (/.f64 (/.f64 im 1) -1) (/.f64 im (neg.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) 1) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im re)) (/.f64 im (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 im (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 im)))
(*.f64 (sqrt.f64 (neg.f64 im)) (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (neg.f64 re))))
(*.f64 (sqrt.f64 (neg.f64 im)) (/.f64 im (*.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (/.f64 re im)))))
(*.f64 (/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) 1) (cbrt.f64 (/.f64 im re)))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (/.f64 im re)))
(*.f64 (/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 re)) (cbrt.f64 im))
(/.f64 (*.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 im)) (cbrt.f64 re))
(/.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) 2) (cbrt.f64 re)))
(*.f64 (/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (neg.f64 re))) (cbrt.f64 (neg.f64 im)))
(/.f64 (/.f64 (*.f64 im (cbrt.f64 (neg.f64 im))) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (neg.f64 re)))
(*.f64 (*.f64 (pow.f64 (/.f64 im re) 1/2) (pow.f64 (/.f64 im re) 1/2)) im)
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (pow.f64 1 1/2) (pow.f64 1 1/2)) (*.f64 im (/.f64 im re)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2)) (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2)))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 im) (sqrt.f64 re))) (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 im) (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (*.f64 im (/.f64 im re)))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(fabs.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(*.f64 im (/.f64 im re))
(neg.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 im (/.f64 im (neg.f64 re))))
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1))
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 1 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 im (/.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(fabs.f64 (*.f64 im (/.f64 im re)))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(*.f64 im (/.f64 im re))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 (/.f64 re im) 3)))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 im (/.f64 im re))
(/.f64 2 (/.f64 re (*.f64 (*.f64 1/2 im) im)))
(*.f64 im (/.f64 im re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (sqrt.f64 re)) (*.f64 (sqrt.f64 re) (/.f64 1 im)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(/.f64 1 (/.f64 re (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 1 (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(/.f64 (sqrt.f64 im) (/.f64 re (*.f64 im (sqrt.f64 im))))
(*.f64 im (/.f64 im re))
(/.f64 (sqrt.f64 im) (/.f64 (/.f64 re (neg.f64 im)) (neg.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 im) (/.f64 re (neg.f64 im))) (neg.f64 (sqrt.f64 im)))
(*.f64 (sqrt.f64 im) (/.f64 (neg.f64 (sqrt.f64 im)) (/.f64 re (neg.f64 im))))
(/.f64 (sqrt.f64 im) (*.f64 (/.f64 1 im) (/.f64 re (sqrt.f64 im))))
(*.f64 im (/.f64 im re))
(/.f64 (cbrt.f64 im) (/.f64 re (*.f64 im (cbrt.f64 (*.f64 im im)))))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re (*.f64 im (sqrt.f64 im))) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (cbrt.f64 im) (/.f64 (/.f64 re im) (sqrt.f64 im))) (cbrt.f64 (sqrt.f64 im)))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 im))) (/.f64 (/.f64 re im) (sqrt.f64 im)))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (/.f64 re (*.f64 im (cbrt.f64 im)))) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 (cbrt.f64 im) (/.f64 re im)) (cbrt.f64 im)))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re (*.f64 im (cbrt.f64 im))))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (/.f64 re (neg.f64 im)) (neg.f64 (cbrt.f64 im))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re (neg.f64 im))) (neg.f64 (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (*.f64 (neg.f64 im) (neg.f64 (cbrt.f64 im))))
(/.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (/.f64 1 im) (/.f64 re (cbrt.f64 im))))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(/.f64 (*.f64 im im) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 1/2 im) (/.f64 (/.f64 re im) 2))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im re) (/.f64 1 im))
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 im) (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 im re))
(/.f64 (sqrt.f64 (/.f64 im re)) (/.f64 (/.f64 1 im) (sqrt.f64 (/.f64 im re))))
(*.f64 im (/.f64 im re))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (/.f64 re (*.f64 im (sqrt.f64 im))) (sqrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (/.f64 re im) (sqrt.f64 im))) (sqrt.f64 (sqrt.f64 im)))
(*.f64 (sqrt.f64 (sqrt.f64 im)) (*.f64 (/.f64 (sqrt.f64 (sqrt.f64 im)) re) (*.f64 im (sqrt.f64 im))))
(/.f64 (sqrt.f64 (neg.f64 im)) (/.f64 (/.f64 re (neg.f64 im)) (sqrt.f64 (neg.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (neg.f64 im)) (/.f64 re (neg.f64 im))) (sqrt.f64 (neg.f64 im)))
(*.f64 (/.f64 (sqrt.f64 (neg.f64 im)) re) (*.f64 (neg.f64 im) (sqrt.f64 (neg.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (*.f64 im (sqrt.f64 im))) (sqrt.f64 (cbrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re im) (sqrt.f64 im))) (sqrt.f64 (cbrt.f64 im)))
(*.f64 (sqrt.f64 (cbrt.f64 im)) (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re im) (sqrt.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 re (*.f64 im (cbrt.f64 im)))) (sqrt.f64 (cbrt.f64 (*.f64 im im))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) re) (*.f64 im (cbrt.f64 im))))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im re)) (cbrt.f64 (/.f64 im re))) (/.f64 (/.f64 1 im) (cbrt.f64 (/.f64 im re))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 im re)) (cbrt.f64 (/.f64 im re))) (/.f64 1 im)) (cbrt.f64 (/.f64 im re)))
(*.f64 (cbrt.f64 (/.f64 im re)) (/.f64 (cbrt.f64 (/.f64 im re)) (/.f64 (/.f64 1 im) (cbrt.f64 (/.f64 im re)))))
(/.f64 (*.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 im))) (/.f64 (/.f64 re (neg.f64 im)) (cbrt.f64 (neg.f64 im))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 im))) (/.f64 re (neg.f64 im))) (cbrt.f64 (neg.f64 im)))
(/.f64 (cbrt.f64 (neg.f64 im)) (/.f64 (/.f64 re (*.f64 (neg.f64 im) (cbrt.f64 (neg.f64 im)))) (cbrt.f64 (neg.f64 im))))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))) (/.f64 (/.f64 re (*.f64 im (cbrt.f64 im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))) (/.f64 re (*.f64 im (cbrt.f64 im)))) (cbrt.f64 (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 re (*.f64 (*.f64 im (cbrt.f64 im)) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))))
(/.f64 (*.f64 im (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 (*.f64 im im))) re) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re (cbrt.f64 (*.f64 im im)))))
(/.f64 (*.f64 im (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 im)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im 1) (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (*.f64 (cbrt.f64 re) (/.f64 1 im)))
(*.f64 (/.f64 im (cbrt.f64 re)) (/.f64 im (pow.f64 (cbrt.f64 re) 2)))
(/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) (/.f64 im (cbrt.f64 re))))
(/.f64 (/.f64 1 re) (*.f64 (/.f64 1 im) (/.f64 1 im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 1 re) (/.f64 1 (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 (/.f64 1 im) (/.f64 (sqrt.f64 im) (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(/.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (*.f64 (/.f64 1 im) (sqrt.f64 (/.f64 re im))))
(*.f64 (sqrt.f64 im) (/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 im (sqrt.f64 (/.f64 re im))))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (*.f64 (/.f64 1 im) (cbrt.f64 (/.f64 re im))))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 1 (neg.f64 re)) (/.f64 (/.f64 1 im) (neg.f64 im)))
(*.f64 im (/.f64 im re))
(/.f64 -1 (/.f64 re (neg.f64 (*.f64 im im))))
(*.f64 im (/.f64 im re))
(/.f64 -1 (*.f64 (/.f64 1 im) (/.f64 re (neg.f64 im))))
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 (sqrt.f64 im)) (/.f64 (/.f64 re (neg.f64 im)) (sqrt.f64 im)))
(*.f64 (/.f64 (sqrt.f64 im) (/.f64 re (neg.f64 im))) (neg.f64 (sqrt.f64 im)))
(*.f64 (sqrt.f64 im) (/.f64 (neg.f64 (sqrt.f64 im)) (/.f64 re (neg.f64 im))))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (neg.f64 im)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re (neg.f64 im))) (neg.f64 (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (*.f64 (neg.f64 im) (neg.f64 (cbrt.f64 im))))
(/.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 re (*.f64 im (sqrt.f64 im))))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (/.f64 re (*.f64 im (cbrt.f64 im))))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 im (/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (*.f64 im im))) re))
(/.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (/.f64 1 im) (/.f64 im (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (/.f64 1 im) (/.f64 im (cbrt.f64 re))))
(/.f64 1 (*.f64 (*.f64 (/.f64 1 (*.f64 im im)) (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2)))
(/.f64 1 (*.f64 (pow.f64 (cbrt.f64 re) 2) (/.f64 (cbrt.f64 re) (*.f64 im im))))
(/.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (/.f64 1 im) (/.f64 (sqrt.f64 im) (cbrt.f64 re))))
(*.f64 (/.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 1 im)) (/.f64 (sqrt.f64 im) (cbrt.f64 re)))
(/.f64 (sqrt.f64 im) (/.f64 (pow.f64 (cbrt.f64 re) 2) (/.f64 (*.f64 im (sqrt.f64 im)) (cbrt.f64 re))))
(/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (/.f64 (/.f64 1 im) (/.f64 (cbrt.f64 im) (sqrt.f64 re))))
(*.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (/.f64 1 im)) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (sqrt.f64 re) (/.f64 (*.f64 im (cbrt.f64 im)) (sqrt.f64 re))))
(/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (/.f64 1 im) (/.f64 (cbrt.f64 im) (cbrt.f64 re))))
(*.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 1 im)) (/.f64 (cbrt.f64 im) (cbrt.f64 re)))
(/.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (/.f64 (cbrt.f64 re) im) (cbrt.f64 im))) (pow.f64 (cbrt.f64 re) 2))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(fabs.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(*.f64 im (/.f64 im re))
(neg.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 im (/.f64 im (neg.f64 re))))
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1))
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 1 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 im (/.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(fabs.f64 (*.f64 im (/.f64 im re)))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(*.f64 im (/.f64 im re))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 (/.f64 re im) 3)))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 52 to 24 computations (53.8% saved)

series2.0ms (0%)

Counts
4 → 84
Calls

24 calls:

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

rewrite114.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1404×associate-*r/
1234×associate-/r*
1114×associate-*l/
1026×*-commutative
910×associate-/l*
Iterations

Useful iterations: 1 (0.0ms)

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

simplify178.0ms (2.4%)

Algorithm
egg-herbie
Rules
1378×times-frac
1146×associate-*r*
1032×associate-*l*
948×associate-/r/
902×associate-/r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
083412123
1202211955
2792211955
Stop Event
node limit
Counts
501 → 561
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 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 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(*.f64 im (sqrt.f64 (pow.f64 re -1)))
(*.f64 im (pow.f64 (pow.f64 re -1) 1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) (pow.f64 1 1/2))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 (pow.f64 re -1) 1/2) im)
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2))
(/.f64 im (sqrt.f64 re))
(/.f64 im (/.f64 (sqrt.f64 re) 1))
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 im)))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 im))))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (sqrt.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (cbrt.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (sqrt.f64 re) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 (*.f64 1 (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 1 1/2) im) (sqrt.f64 re))
(/.f64 (*.f64 (pow.f64 1 1/2) 1) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 im)) (sqrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) 1) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 2)) (sqrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (/.f64 im (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 im (sqrt.f64 (sqrt.f64 re))) (sqrt.f64 (sqrt.f64 re)))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 2 (*.f64 1/2 (*.f64 im (/.f64 im re))))
(*.f64 1/2 (*.f64 2 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im im) (pow.f64 re -1))
(*.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 2)
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 1 (*.f64 im (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (/.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) im) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) (*.f64 2 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))))
(*.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (pow.f64 re -1) (*.f64 im im))
(*.f64 (*.f64 im (neg.f64 im)) (/.f64 -1 re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 2 (*.f64 im (/.f64 im re))) 1/2)
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))) (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) im) (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (cbrt.f64 (pow.f64 im 4)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (/.f64 (cbrt.f64 (pow.f64 im 4)) 1))
(*.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (/.f64 1 (sqrt.f64 re)))
(*.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 im (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (/.f64 (cbrt.f64 re) im)))
(*.f64 (/.f64 im (/.f64 (cbrt.f64 re) im)) (/.f64 1 (pow.f64 (cbrt.f64 re) 2)))
(*.f64 (/.f64 im re) im)
(*.f64 (/.f64 im re) (/.f64 im 1))
(*.f64 (/.f64 im (cbrt.f64 re)) (/.f64 im (pow.f64 (cbrt.f64 re) 2)))
(*.f64 (/.f64 -1 re) (*.f64 im (neg.f64 im)))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 im) (/.f64 re im)) (sqrt.f64 im))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) re) (cbrt.f64 (*.f64 im im)))
(*.f64 (/.f64 im (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 (/.f64 im (neg.f64 re)) (neg.f64 im))
(*.f64 (/.f64 im (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (/.f64 1 (/.f64 re (cbrt.f64 (pow.f64 im 4)))) (cbrt.f64 (*.f64 im im)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re im)) (cbrt.f64 im))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(neg.f64 (/.f64 im (/.f64 (neg.f64 re) im)))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(log.f64 (exp.f64 (*.f64 im (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) 1)
(/.f64 1/2 (/.f64 re (*.f64 im im)))
(/.f64 im (/.f64 (/.f64 re im) 1/2))
(/.f64 (*.f64 im im) (/.f64 re 1/2))
(/.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 1)
(/.f64 1 (/.f64 re (*.f64 1/2 (*.f64 im im))))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(/.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 re 1))
(/.f64 (*.f64 im (neg.f64 im)) (/.f64 (neg.f64 re) 1/2))
(/.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (/.f64 re (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (/.f64 re (cbrt.f64 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 1/2 im) (/.f64 re im))
(/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 1/2 re) (/.f64 1 (*.f64 im im)))
(/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (neg.f64 re))
(/.f64 (/.f64 (*.f64 im im) 2) re)
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 re))
(/.f64 (*.f64 1/2 (sqrt.f64 im)) (/.f64 (/.f64 re im) (sqrt.f64 im)))
(/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 (pow.f64 im 4))))
(/.f64 (*.f64 1/2 (*.f64 2 (*.f64 1/2 (*.f64 im im)))) re)
(/.f64 (*.f64 1/2 (/.f64 (*.f64 im im) 1)) re)
(/.f64 (*.f64 1/2 (/.f64 im (/.f64 (sqrt.f64 re) im))) (sqrt.f64 re))
(/.f64 (*.f64 1/2 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im))) (cbrt.f64 re))
(/.f64 (*.f64 1/2 (neg.f64 im)) (neg.f64 (/.f64 re im)))
(/.f64 -1/2 (neg.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 1/2 (neg.f64 (*.f64 im (neg.f64 im)))) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 1 (*.f64 1/2 im)) (/.f64 re im))
(/.f64 (*.f64 1 (*.f64 1/2 (*.f64 im (neg.f64 im)))) (neg.f64 re))
(/.f64 (*.f64 1 (/.f64 (*.f64 im im) 2)) re)
(/.f64 (*.f64 1 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (*.f64 1 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(/.f64 (*.f64 1 (neg.f64 (*.f64 1/2 (*.f64 im im)))) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (cbrt.f64 re))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 1 (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 1 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) -1) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) im) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) (sqrt.f64 im)) (sqrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) 1) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (*.f64 im im)) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 re) 2)) (*.f64 im im)) (cbrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) 1/2) (/.f64 re (cbrt.f64 (pow.f64 im 4))))
(/.f64 (*.f64 (sqrt.f64 im) 1/2) (/.f64 (/.f64 re im) (sqrt.f64 im)))
(/.f64 (*.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) 1/2) re)
(/.f64 (*.f64 (/.f64 (*.f64 im im) 1) 1/2) re)
(/.f64 (*.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) 1/2) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) 1/2) (cbrt.f64 re))
(/.f64 (*.f64 (neg.f64 im) 1/2) (neg.f64 (/.f64 re im)))
(/.f64 (*.f64 (neg.f64 (*.f64 im (neg.f64 im))) 1/2) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 im) 1) (/.f64 re im))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) 1) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 im im) 2) 1) re)
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) 1) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) 1) (cbrt.f64 re))
(/.f64 (*.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) 1) (neg.f64 re))
(/.f64 (*.f64 im (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (*.f64 1 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (sqrt.f64 im) (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))) (cbrt.f64 re))
(/.f64 (*.f64 1/2 (/.f64 im (/.f64 (cbrt.f64 re) im))) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (/.f64 1/2 (*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 re (*.f64 im im))))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 1/2 (/.f64 1 im)) (/.f64 re im))
(/.f64 (/.f64 1/2 (/.f64 1 (cbrt.f64 (pow.f64 im 4)))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(/.f64 (/.f64 1/2 (/.f64 (sqrt.f64 re) im)) (/.f64 (sqrt.f64 re) im))
(/.f64 (/.f64 1/2 (/.f64 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(/.f64 (/.f64 1/2 (/.f64 (sqrt.f64 re) (cbrt.f64 (pow.f64 im 4)))) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (/.f64 1/2 (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (/.f64 (cbrt.f64 re) im))
(/.f64 (/.f64 1/2 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1)) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(/.f64 (/.f64 1/2 (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 im 4)))) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 1/2 im) re) (/.f64 1 im))
(/.f64 (/.f64 (*.f64 1/2 im) 1) (/.f64 re im))
(/.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 (*.f64 1/2 im) (*.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 (/.f64 re im)))) (cbrt.f64 (/.f64 re im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 re) im))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im)))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (pow.f64 (cbrt.f64 re) 2) 1)) (/.f64 (cbrt.f64 re) im))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 1 (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 1 (cbrt.f64 (*.f64 im im)))) (/.f64 re (cbrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im))) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im (/.f64 im re))))) (/.f64 (cbrt.f64 re) (cbrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) 1) (neg.f64 re))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (sqrt.f64 re)) (neg.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (pow.f64 (cbrt.f64 re) 2)) (neg.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (*.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (neg.f64 re)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) -1) re)
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (neg.f64 (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (neg.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(/.f64 (/.f64 (/.f64 (*.f64 im im) 2) 1) re)
(/.f64 (/.f64 (/.f64 (*.f64 im im) 2) (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) 1) (sqrt.f64 re))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 (sqrt.f64 re))) (sqrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) 1) (cbrt.f64 re))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (sqrt.f64 (cbrt.f64 re))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 re)))) (cbrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) 1) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 re)) (neg.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (pow.f64 (cbrt.f64 re) 2)) (neg.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (neg.f64 re)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) -1) re)
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 1)
(pow.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3) 1/3)
(sqrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(/.f64 2 (/.f64 re (*.f64 1/2 (*.f64 im im))))
(/.f64 im (/.f64 re im))
(/.f64 (*.f64 im im) re)
(/.f64 (*.f64 im im) (/.f64 re 1))
(/.f64 (*.f64 im (/.f64 im re)) 1)
(/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (sqrt.f64 re) im))
(/.f64 1 (/.f64 re (*.f64 im im)))
(/.f64 (sqrt.f64 im) (/.f64 (/.f64 re im) (sqrt.f64 im)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re im) (cbrt.f64 (*.f64 im im))))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 (/.f64 re im) (sqrt.f64 im)) (cbrt.f64 (sqrt.f64 im))))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 im)))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re (cbrt.f64 (pow.f64 im 4))))
(/.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 re (cbrt.f64 (*.f64 im im))))
(/.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (neg.f64 re) (neg.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 re 2))
(/.f64 (pow.f64 re -1) (/.f64 1 (*.f64 im im)))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (neg.f64 re) (sqrt.f64 (*.f64 im (neg.f64 im)))))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (/.f64 (/.f64 re im) (sqrt.f64 im)) (sqrt.f64 (sqrt.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 (/.f64 re im) (sqrt.f64 im)) (sqrt.f64 (cbrt.f64 im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (/.f64 re im) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (/.f64 re (cbrt.f64 (*.f64 im im))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4)))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (*.f64 im (neg.f64 im)))) (/.f64 (neg.f64 re) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (pow.f64 im 4)))) (/.f64 (/.f64 re (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (pow.f64 im 4)))))
(/.f64 (*.f64 im (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(/.f64 (*.f64 im (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 im)))
(/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) re)
(/.f64 (/.f64 (*.f64 im im) 1) re)
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (sqrt.f64 re))
(/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (cbrt.f64 re))
(/.f64 (/.f64 im (/.f64 (cbrt.f64 re) im)) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (/.f64 im re) (/.f64 1 im))
(/.f64 (neg.f64 im) (neg.f64 (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 (neg.f64 re) im))
(/.f64 -1 (neg.f64 (/.f64 re (*.f64 im im))))
(/.f64 -1 (/.f64 (neg.f64 re) (*.f64 im im)))
(/.f64 (neg.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (neg.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (/.f64 im 1) (/.f64 re im))
(/.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 re) im))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (/.f64 re (cbrt.f64 (*.f64 im im))))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (neg.f64 (*.f64 im (neg.f64 im))) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re im))
(/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im (neg.f64 im)))) (neg.f64 re))
(/.f64 (*.f64 2 (/.f64 (*.f64 im im) 2)) re)
(/.f64 (*.f64 2 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (*.f64 2 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(/.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (*.f64 im im)))) (neg.f64 re))
(/.f64 (*.f64 (*.f64 im im) (/.f64 1 (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (*.f64 (*.f64 im im) (/.f64 1 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 im)) (sqrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 1 (*.f64 2 (*.f64 1/2 (*.f64 im im)))) re)
(/.f64 (*.f64 1 (/.f64 (*.f64 im im) 1)) re)
(/.f64 (*.f64 1 (/.f64 im (/.f64 (sqrt.f64 re) im))) (sqrt.f64 re))
(/.f64 (*.f64 1 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im))) (cbrt.f64 re))
(/.f64 (*.f64 1 (neg.f64 im)) (neg.f64 (/.f64 re im)))
(/.f64 (*.f64 1 (neg.f64 (*.f64 im (neg.f64 im)))) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (cbrt.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 re)) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 1 (sqrt.f64 re)) (*.f64 im im)) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (*.f64 im im)) (cbrt.f64 re))
(/.f64 (*.f64 (/.f64 im 1) im) re)
(/.f64 (*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) im) (cbrt.f64 re))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (cbrt.f64 (*.f64 im im))) re)
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (cbrt.f64 (*.f64 im im))) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) 1) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 im 4)) (cbrt.f64 (*.f64 im (/.f64 im re)))) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (*.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) 1) re)
(/.f64 (*.f64 (/.f64 (*.f64 im im) 1) 1) re)
(/.f64 (*.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) 1) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) 1) (cbrt.f64 re))
(/.f64 (*.f64 (neg.f64 im) 1) (neg.f64 (/.f64 re im)))
(/.f64 (*.f64 (neg.f64 (*.f64 im (neg.f64 im))) 1) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 im) 2) (/.f64 re im))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 im im) 2) 2) re)
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) 2) (sqrt.f64 re))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) 2) (cbrt.f64 re))
(/.f64 (*.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) 2) (neg.f64 re))
(/.f64 (*.f64 (sqrt.f64 im) (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 im (sqrt.f64 re))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))) (sqrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (neg.f64 re)))
(/.f64 (*.f64 1 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (cbrt.f64 im) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 (neg.f64 re)))
(/.f64 (*.f64 1 (/.f64 im (/.f64 (cbrt.f64 re) im))) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (*.f64 im (/.f64 im (cbrt.f64 re))) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 im (*.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 (/.f64 re im)))) (cbrt.f64 (/.f64 re im)))
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im)))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (/.f64 im (/.f64 1 (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(/.f64 (/.f64 im (/.f64 1 (cbrt.f64 (*.f64 im im)))) (/.f64 re (cbrt.f64 im)))
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 im))) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 im)))
(/.f64 (/.f64 im (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im (/.f64 im re))))) (/.f64 (cbrt.f64 re) (cbrt.f64 im)))
(/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 re (*.f64 im im))))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 1 (/.f64 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(/.f64 (/.f64 1 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1)) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) 1) (neg.f64 re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (sqrt.f64 re)) (neg.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (pow.f64 (cbrt.f64 re) 2)) (neg.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (*.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (neg.f64 re)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) -1) re)
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (neg.f64 (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (neg.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) 1) re)
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (/.f64 (/.f64 (*.f64 im im) 1) 1) re)
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) 1) (sqrt.f64 re))
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (sqrt.f64 (sqrt.f64 re))) (sqrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) 1) (cbrt.f64 re))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (sqrt.f64 (cbrt.f64 re))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 re)))) (cbrt.f64 (cbrt.f64 re)))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(neg.f64 (/.f64 im (/.f64 (neg.f64 re) im)))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(log.f64 (exp.f64 (*.f64 im (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (fabs.f64 (pow.f64 re -1/2))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (fabs.f64 (pow.f64 re -1/2))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (fabs.f64 (pow.f64 re -1/2))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (neg.f64 (fabs.f64 (pow.f64 re -1/2))))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 im (sqrt.f64 (pow.f64 re -1)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 im (pow.f64 (pow.f64 re -1) 1/2))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) (pow.f64 1 1/2))
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (sqrt.f64 2))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re))
(*.f64 (sqrt.f64 2) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (sqrt.f64 2))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 (pow.f64 re -1) 1/2) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (fabs.f64 (pow.f64 re -1/2)))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(/.f64 im (sqrt.f64 re))
(/.f64 im (/.f64 (sqrt.f64 re) 1))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 im)))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 re im))) (sqrt.f64 im))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 re im))) (sqrt.f64 im))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 im (sqrt.f64 re))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 re)) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))) (cbrt.f64 (sqrt.f64 im)))
(*.f64 (cbrt.f64 (sqrt.f64 im)) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 re)) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (sqrt.f64 im)))
(*.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (sqrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 (cbrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (cbrt.f64 im)))
(*.f64 (sqrt.f64 (cbrt.f64 im)) (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (sqrt.f64 (/.f64 re im))))
(/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (sqrt.f64 re) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (sqrt.f64 re)) (sqrt.f64 (cbrt.f64 (*.f64 im im))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (sqrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(/.f64 (*.f64 1 (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 re)) (sqrt.f64 (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 re)) (cbrt.f64 (*.f64 im im)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (neg.f64 re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 (*.f64 (pow.f64 1 1/2) im) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(/.f64 (*.f64 (pow.f64 1 1/2) 1) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 im)) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 re im))) (sqrt.f64 im))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(/.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) 1) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 2)) (sqrt.f64 re))
(/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 re)) (sqrt.f64 (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 re im)))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 re))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 re)) (cbrt.f64 (*.f64 im im)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (neg.f64 re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 (/.f64 im (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 im (*.f64 (sqrt.f64 (cbrt.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))))
(/.f64 im (*.f64 (fabs.f64 (cbrt.f64 re)) (sqrt.f64 (cbrt.f64 re))))
(/.f64 (/.f64 im (sqrt.f64 (sqrt.f64 re))) (sqrt.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(/.f64 im (sqrt.f64 re))
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.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))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 im (/.f64 im re))
(*.f64 2 (*.f64 1/2 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 1/2 (*.f64 2 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im im) (pow.f64 re -1))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 2)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 1 (*.f64 im (/.f64 im re)))
(*.f64 im (/.f64 im re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (/.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))))
(*.f64 2 (pow.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) 2))
(*.f64 2 (pow.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) im) 2))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) im) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(*.f64 im (/.f64 im re))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) (*.f64 2 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))))
(*.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 (/.f64 im re)))) (cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2))))
(*.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 (/.f64 im re)))) (cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (pow.f64 re -1) (*.f64 im im))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im (neg.f64 im)) (/.f64 -1 re))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 2 (*.f64 im (/.f64 im re))) 1/2)
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))) (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 (/.f64 im re)))) (cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2))))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) im) (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (cbrt.f64 (pow.f64 im 4)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) re) (/.f64 (cbrt.f64 (pow.f64 im 4)) 1))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))
(*.f64 2 (pow.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) 2))
(*.f64 2 (pow.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) im) 2))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))))
(*.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (*.f64 2 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 (/.f64 im re)))) (cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2))))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 re)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (/.f64 1 (sqrt.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 im (/.f64 (sqrt.f64 re) im)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (/.f64 (cbrt.f64 re) im)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (/.f64 (cbrt.f64 re) im)) (/.f64 1 (pow.f64 (cbrt.f64 re) 2)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im re) (/.f64 im 1))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (cbrt.f64 re)) (/.f64 im (pow.f64 (cbrt.f64 re) 2)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 -1 re) (*.f64 im (neg.f64 im)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (/.f64 (sqrt.f64 im) (/.f64 re im)) (sqrt.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) re) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (/.f64 im (/.f64 re (sqrt.f64 im))) (sqrt.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (neg.f64 re)) (neg.f64 im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (/.f64 re (cbrt.f64 (*.f64 im im)))) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (/.f64 re im)))
(*.f64 (/.f64 1 (/.f64 re (cbrt.f64 (pow.f64 im 4)))) (cbrt.f64 (*.f64 im im)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re im)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (/.f64 re im)))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(*.f64 im (/.f64 im re))
(neg.f64 (/.f64 im (/.f64 (neg.f64 re) im)))
(*.f64 im (/.f64 im re))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(log.f64 (exp.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))) 1)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 1/2 (/.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) 1/2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 im im) (/.f64 re 1/2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 1)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 1 (/.f64 re (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 re 1))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 im (neg.f64 im)) (/.f64 (neg.f64 re) 1/2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (/.f64 re (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) re) (sqrt.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (/.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) re))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (/.f64 re (cbrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) re) (cbrt.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (/.f64 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (cbrt.f64 (*.f64 im (*.f64 im 1/2)))) re))
(/.f64 (*.f64 1/2 im) (/.f64 re im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) re))
(/.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (sqrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (/.f64 im (sqrt.f64 (/.f64 re (*.f64 im im)))) (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (/.f64 1/2 re) (/.f64 1 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 im im) 2) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (sqrt.f64 im)) (/.f64 (/.f64 re im) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) re) (cbrt.f64 (pow.f64 im 4)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) re))
(/.f64 (*.f64 1/2 (*.f64 2 (*.f64 1/2 (*.f64 im im)))) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (/.f64 (*.f64 im im) 1)) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (/.f64 im (/.f64 (sqrt.f64 re) im))) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im))) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (neg.f64 im)) (neg.f64 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 -1/2 (neg.f64 (/.f64 re (*.f64 im im))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1/2 (neg.f64 (*.f64 im (neg.f64 im)))) (neg.f64 (neg.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1 (*.f64 1/2 im)) (/.f64 re im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1 (*.f64 1/2 (*.f64 im (neg.f64 im)))) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1 (/.f64 (*.f64 im im) 2)) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1 (neg.f64 (*.f64 1/2 (*.f64 im im)))) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) im))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (cbrt.f64 re))
(/.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2)) (cbrt.f64 re)) (cbrt.f64 (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 1 (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 1 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) -1) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) im) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) 1) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (sqrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (/.f64 im (sqrt.f64 (/.f64 re (*.f64 im im)))) (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) (sqrt.f64 im)) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 im)))
(/.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 (/.f64 re im)) 1/2) (/.f64 (sqrt.f64 re) im)))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 re)) (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (sqrt.f64 (neg.f64 re)) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (*.f64 im (neg.f64 im))))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) 1) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (/.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 im)))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(/.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 re)) (cbrt.f64 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (/.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (neg.f64 re))) (cbrt.f64 (*.f64 im (neg.f64 im))))
(/.f64 (*.f64 (/.f64 1/2 (sqrt.f64 re)) (*.f64 im im)) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 re) 2)) (*.f64 im im)) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) 1/2) (/.f64 re (cbrt.f64 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) re) (cbrt.f64 (pow.f64 im 4)))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (*.f64 1/2 (cbrt.f64 (*.f64 im im))) re))
(/.f64 (*.f64 (sqrt.f64 im) 1/2) (/.f64 (/.f64 re im) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) 1/2) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 (*.f64 im im) 1) 1/2) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) 1/2) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) 1/2) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (neg.f64 im) 1/2) (neg.f64 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (neg.f64 (*.f64 im (neg.f64 im))) 1/2) (neg.f64 (neg.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (*.f64 1/2 im) 1) (/.f64 re im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) 1) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 (*.f64 im im) 2) 1) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) 1) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) 1) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) 1) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 im (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (*.f64 1 (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (sqrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (/.f64 im (sqrt.f64 (/.f64 re (*.f64 im im)))) (/.f64 1/2 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 im) (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 im)))
(/.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 (/.f64 re im)) 1/2) (/.f64 (sqrt.f64 re) im)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (*.f64 1/2 im) (sqrt.f64 re))) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (sqrt.f64 (neg.f64 re)) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))))
(*.f64 (/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (*.f64 im (neg.f64 im))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) im))
(/.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))) (cbrt.f64 re))
(/.f64 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re)))) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2)) (cbrt.f64 re)) (cbrt.f64 (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 1/2 (/.f64 im (/.f64 (cbrt.f64 re) im))) (pow.f64 (cbrt.f64 re) 2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 1/2 (*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 re (*.f64 im im))))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 1/2 (/.f64 1 im)) (/.f64 re im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 1/2 (/.f64 1 (cbrt.f64 (pow.f64 im 4)))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) re))
(/.f64 (/.f64 1/2 (/.f64 (sqrt.f64 re) im)) (/.f64 (sqrt.f64 re) im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 1/2 (/.f64 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 1/2 (/.f64 (sqrt.f64 re) (cbrt.f64 (pow.f64 im 4)))) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) re))
(/.f64 (/.f64 1/2 (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (/.f64 (cbrt.f64 re) im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 1/2 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1)) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 1/2 (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 im 4)))) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) re))
(/.f64 (/.f64 (*.f64 1/2 im) re) (/.f64 1 im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 im) 1) (/.f64 re im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 im) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 im) (*.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 (/.f64 re im)))) (cbrt.f64 (/.f64 re im)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 re) im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im)))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (*.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (cbrt.f64 (*.f64 im im))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (*.f64 im 1/2) (/.f64 (/.f64 re (cbrt.f64 (*.f64 im im))) (cbrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (pow.f64 (cbrt.f64 re) 2) 1)) (/.f64 (cbrt.f64 re) im))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 1 (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (/.f64 (*.f64 (*.f64 im 1/2) (sqrt.f64 im)) re) (sqrt.f64 im))
(*.f64 (/.f64 1/2 (/.f64 re (sqrt.f64 im))) (*.f64 im (sqrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 1 (cbrt.f64 (*.f64 im im)))) (/.f64 re (cbrt.f64 im)))
(*.f64 (/.f64 (*.f64 (*.f64 im 1/2) (cbrt.f64 (*.f64 im im))) re) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (/.f64 (*.f64 1/2 (*.f64 im (cbrt.f64 (*.f64 im im)))) re))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im))) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (*.f64 (sqrt.f64 im) (/.f64 (*.f64 im 1/2) (sqrt.f64 re))) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 im)))
(*.f64 (/.f64 (*.f64 (/.f64 (*.f64 im 1/2) (pow.f64 (cbrt.f64 re) 2)) (sqrt.f64 im)) (cbrt.f64 re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (/.f64 (*.f64 (sqrt.f64 im) (/.f64 (*.f64 im 1/2) (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 im) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im (/.f64 im re))))) (/.f64 (cbrt.f64 re) (cbrt.f64 im)))
(*.f64 (/.f64 (/.f64 (*.f64 im 1/2) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im (/.f64 im re))))) (cbrt.f64 re)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (*.f64 im 1/2) (cbrt.f64 re))) (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) 1) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (sqrt.f64 re)) (neg.f64 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (pow.f64 (cbrt.f64 re) 2)) (neg.f64 (cbrt.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (*.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (neg.f64 re)))) (cbrt.f64 (neg.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) -1) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (neg.f64 (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) (neg.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (/.f64 (*.f64 im im) 2) 1) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (/.f64 (*.f64 im im) 2) (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) 1) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (cbrt.f64 re) (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (cbrt.f64 re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 im (*.f64 im 1/2)) (sqrt.f64 re)) (*.f64 (sqrt.f64 (cbrt.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))))
(*.f64 (/.f64 im (sqrt.f64 (cbrt.f64 re))) (/.f64 (/.f64 (*.f64 im 1/2) (sqrt.f64 re)) (fabs.f64 (cbrt.f64 re))))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 (sqrt.f64 re))) (sqrt.f64 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) 1) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (sqrt.f64 (cbrt.f64 re))) (sqrt.f64 (cbrt.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 (cbrt.f64 re)))
(/.f64 (*.f64 1/2 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2))) (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))))
(*.f64 (/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (cbrt.f64 re))) (/.f64 1/2 (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 1/2 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2))) (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (sqrt.f64 re))) (/.f64 1/2 (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 re)))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) 1) (neg.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 re)) (neg.f64 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (pow.f64 (cbrt.f64 re) 2)) (neg.f64 (cbrt.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (neg.f64 re)))) (cbrt.f64 (neg.f64 re)))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) -1) re)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(/.f64 (/.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) (neg.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 1)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(pow.f64 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)) 2)
(pow.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 re)) im) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))) 3)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3) 1/3)
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(sqrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (/.f64 im re))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))) 3))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (/.f64 im re)))))
(*.f64 1/2 (*.f64 im (/.f64 im re)))
(*.f64 im (*.f64 1/2 (/.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 im (/.f64 im re))
(/.f64 2 (/.f64 re (*.f64 1/2 (*.f64 im im))))
(*.f64 im (/.f64 im re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) (/.f64 re 1))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 im (*.f64 (sqrt.f64 re) (sqrt.f64 (/.f64 re (*.f64 im im)))))
(/.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (sqrt.f64 re) im))
(*.f64 im (/.f64 im re))
(/.f64 1 (/.f64 re (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 (sqrt.f64 im) (/.f64 (/.f64 re im) (sqrt.f64 im)))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re im) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (/.f64 re im)))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 (/.f64 re im) (sqrt.f64 im)) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (cbrt.f64 im) (/.f64 (/.f64 re im) (sqrt.f64 im))) (cbrt.f64 (sqrt.f64 im)))
(*.f64 (cbrt.f64 (sqrt.f64 im)) (*.f64 (/.f64 (cbrt.f64 im) (/.f64 re im)) (sqrt.f64 im)))
(/.f64 (cbrt.f64 im) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 im)))
(/.f64 (cbrt.f64 im) (/.f64 re (*.f64 (cbrt.f64 im) (cbrt.f64 (pow.f64 im 4)))))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 (cbrt.f64 im) re) (cbrt.f64 (pow.f64 im 4))))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 re (cbrt.f64 (pow.f64 im 4))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 re (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (neg.f64 re) (neg.f64 (cbrt.f64 (*.f64 im im)))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 re 2))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 re -1) (/.f64 1 (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (neg.f64 re) (sqrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (neg.f64 re)) (sqrt.f64 (*.f64 im (neg.f64 im))))
(*.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (neg.f64 re)))
(/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (/.f64 (/.f64 re im) (sqrt.f64 im)) (sqrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (/.f64 re im) (sqrt.f64 im))) (sqrt.f64 (sqrt.f64 im)))
(*.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (sqrt.f64 (sqrt.f64 im)) (/.f64 (/.f64 re (sqrt.f64 im)) im)))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 (/.f64 re im) (sqrt.f64 im)) (sqrt.f64 (cbrt.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re im) (sqrt.f64 im))) (sqrt.f64 (cbrt.f64 im)))
(*.f64 (sqrt.f64 (cbrt.f64 im)) (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (sqrt.f64 im)) im)))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 (pow.f64 im 4)))) (sqrt.f64 (cbrt.f64 (*.f64 im im))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) re) (cbrt.f64 (pow.f64 im 4))))
(/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (/.f64 re im) (sqrt.f64 (cbrt.f64 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 re im)) (sqrt.f64 (cbrt.f64 (*.f64 im im))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im im))) (*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) re) im))
(/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (/.f64 re (cbrt.f64 (*.f64 im im))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4)))))
(/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)))))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 (/.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) re) (cbrt.f64 (*.f64 im im))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (*.f64 im (neg.f64 im)))) (/.f64 (neg.f64 re) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (*.f64 im (neg.f64 im)))) (neg.f64 re)) (cbrt.f64 (*.f64 im (neg.f64 im))))
(*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (*.f64 im (neg.f64 im)))) (neg.f64 re)))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))) (/.f64 re (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (pow.f64 im 4)))))
(/.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (/.f64 re (*.f64 (cbrt.f64 (pow.f64 im 4)) (cbrt.f64 (cbrt.f64 (*.f64 im im))))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))
(/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (/.f64 re (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (*.f64 im im)))))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (cbrt.f64 (pow.f64 im 4)))) (cbrt.f64 (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im im))) (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (cbrt.f64 (pow.f64 im 4)))))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (pow.f64 im 4)))) (/.f64 (/.f64 re (cbrt.f64 (*.f64 im im))) (cbrt.f64 (cbrt.f64 (pow.f64 im 4)))))
(/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (pow.f64 im 4)))) (/.f64 re (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (cbrt.f64 (pow.f64 im 4)))) re) (cbrt.f64 (*.f64 im im))))
(/.f64 (*.f64 im (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (cbrt.f64 (*.f64 im im))) (/.f64 re (cbrt.f64 im)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (/.f64 re im)))
(/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) re)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (/.f64 (cbrt.f64 re) im)) (pow.f64 (cbrt.f64 re) 2))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im re) (/.f64 1 im))
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 im) (neg.f64 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 im) (/.f64 (neg.f64 re) im))
(*.f64 im (/.f64 im re))
(/.f64 -1 (neg.f64 (/.f64 re (*.f64 im im))))
(*.f64 im (/.f64 im re))
(/.f64 -1 (/.f64 (neg.f64 re) (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 (cbrt.f64 (pow.f64 im 4))) (/.f64 (neg.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (/.f64 im 1) (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 re) im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (/.f64 re (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (neg.f64 (*.f64 im (neg.f64 im))) (neg.f64 (neg.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (*.f64 1/2 im)) (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im (neg.f64 im)))) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (/.f64 (*.f64 im im) 2)) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (*.f64 im im)))) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (*.f64 im im) (/.f64 1 (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (*.f64 im im) (/.f64 1 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 im)) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 im)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (*.f64 im (neg.f64 im)))) (sqrt.f64 (neg.f64 re)))
(/.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (*.f64 im (neg.f64 im))))
(/.f64 (*.f64 1 (*.f64 2 (*.f64 1/2 (*.f64 im im)))) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 1 (/.f64 (*.f64 im im) 1)) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 1 (/.f64 im (/.f64 (sqrt.f64 re) im))) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 1 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im))) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 1 (neg.f64 im)) (neg.f64 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 1 (neg.f64 (*.f64 im (neg.f64 im)))) (neg.f64 (neg.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (/.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (/.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (neg.f64 re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(/.f64 (*.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re))) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (*.f64 2 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re))) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 im 2) (sqrt.f64 1/2)) (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (cbrt.f64 re))
(/.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (*.f64 re re))))) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (*.f64 2 (cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 (/.f64 im re))) 2))) (cbrt.f64 re)) (cbrt.f64 (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 (/.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 re)) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))) (sqrt.f64 re))
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 2))) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (*.f64 (/.f64 1 (sqrt.f64 re)) (*.f64 im im)) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (*.f64 im im)) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 im 1) im) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) im) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) 1) (cbrt.f64 (*.f64 im im))) re)
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (sqrt.f64 re)) (cbrt.f64 (*.f64 im im))) (sqrt.f64 re))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) 1) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 im)) (cbrt.f64 (/.f64 re im)))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 im)))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 re))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 im (neg.f64 im)))) (cbrt.f64 (neg.f64 re)))
(/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (neg.f64 re))) (cbrt.f64 (*.f64 im (neg.f64 im))))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 im 4)) (cbrt.f64 (*.f64 im (/.f64 im re)))) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 re) 2))
(/.f64 (*.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) 1) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 (*.f64 im im) 1) 1) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) 1) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) 1) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (neg.f64 im) 1) (neg.f64 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (neg.f64 (*.f64 im (neg.f64 im))) 1) (neg.f64 (neg.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (*.f64 1/2 im) 2) (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 im (neg.f64 im))) 2) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 (*.f64 im im) 2) 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) 2) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (/.f64 (*.f64 1/2 (*.f64 im im)) (pow.f64 (cbrt.f64 re) 2)) 2) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (neg.f64 (*.f64 1/2 (*.f64 im im))) 2) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (sqrt.f64 im) (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (sqrt.f64 (/.f64 re im)) (sqrt.f64 im)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (/.f64 im (sqrt.f64 re))) (sqrt.f64 (neg.f64 re)))
(/.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (*.f64 im (neg.f64 im))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 re)))) (sqrt.f64 re))
(/.f64 (*.f64 2 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re))) (/.f64 (sqrt.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 im 2) (sqrt.f64 1/2)) (sqrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (/.f64 re im)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (/.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 re))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im im))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (cbrt.f64 (neg.f64 re)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (/.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (*.f64 im (neg.f64 im)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (neg.f64 re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(/.f64 (*.f64 1 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 (*.f64 (cbrt.f64 im) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 (/.f64 re im)))
(/.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (/.f64 re im)) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))) (cbrt.f64 (neg.f64 re)))
(/.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (/.f64 (cbrt.f64 (neg.f64 re)) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im (neg.f64 im))) (cbrt.f64 (neg.f64 re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(/.f64 (*.f64 1 (/.f64 im (/.f64 (cbrt.f64 re) im))) (pow.f64 (cbrt.f64 re) 2))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (/.f64 im (cbrt.f64 re))) (pow.f64 (cbrt.f64 re) 2))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 (cbrt.f64 (pow.f64 im 4)) (/.f64 (cbrt.f64 (*.f64 im im)) re))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 (pow.f64 im 4)) re))
(/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (*.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 (/.f64 re im)))) (cbrt.f64 (/.f64 re im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 im im)))) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(*.f64 (/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 im im))) (sqrt.f64 re)) (cbrt.f64 im))
(/.f64 im (/.f64 (/.f64 re (cbrt.f64 (*.f64 im im))) (cbrt.f64 im)))
(/.f64 (/.f64 im (/.f64 1 (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 im (/.f64 1 (cbrt.f64 (*.f64 im im)))) (/.f64 re (cbrt.f64 im)))
(*.f64 (cbrt.f64 im) (*.f64 (/.f64 im re) (cbrt.f64 (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (/.f64 re im)))
(/.f64 (/.f64 im (/.f64 (sqrt.f64 re) (sqrt.f64 im))) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 im)) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(*.f64 (sqrt.f64 im) (/.f64 (/.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 re)) (sqrt.f64 re)))
(/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 im)))
(/.f64 im (*.f64 (/.f64 (cbrt.f64 re) (sqrt.f64 im)) (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 im))))
(/.f64 (/.f64 (*.f64 im (sqrt.f64 im)) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 re) (sqrt.f64 im)))
(/.f64 (/.f64 im (/.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 im (/.f64 im re))))) (/.f64 (cbrt.f64 re) (cbrt.f64 im)))
(*.f64 (/.f64 (*.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (*.f64 im (/.f64 im re)))) (cbrt.f64 re)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 im (cbrt.f64 re))) (cbrt.f64 re)))
(/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (cbrt.f64 (/.f64 re (*.f64 im im))))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 1 (/.f64 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 1 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1)) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) 1) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (sqrt.f64 re)) (neg.f64 (sqrt.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (pow.f64 (cbrt.f64 re) 2)) (neg.f64 (cbrt.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (sqrt.f64 (neg.f64 re))) (sqrt.f64 (neg.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (*.f64 (cbrt.f64 (neg.f64 re)) (cbrt.f64 (neg.f64 re)))) (cbrt.f64 (neg.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) -1) re)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (neg.f64 (sqrt.f64 re))) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im (neg.f64 im)) (neg.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) 1) re)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 2 (*.f64 1/2 (*.f64 im im))) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (/.f64 (*.f64 im im) 1) 1) re)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) 1) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) im) (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))) (sqrt.f64 (cbrt.f64 re)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) im) (*.f64 (sqrt.f64 (cbrt.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2))))
(*.f64 (/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (cbrt.f64 re))) (/.f64 im (fabs.f64 (cbrt.f64 re))))
(/.f64 (/.f64 (/.f64 im (/.f64 (sqrt.f64 re) im)) (sqrt.f64 (sqrt.f64 re))) (sqrt.f64 (sqrt.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) 1) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (sqrt.f64 (cbrt.f64 re))) (sqrt.f64 (cbrt.f64 re)))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))) (cbrt.f64 (cbrt.f64 re)))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))))
(*.f64 (/.f64 im (cbrt.f64 (cbrt.f64 re))) (/.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2))))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (/.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 (/.f64 im (/.f64 (pow.f64 (cbrt.f64 re) 2) im)) (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 re)))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(*.f64 im (/.f64 im re))
(neg.f64 (/.f64 im (/.f64 (neg.f64 re) im)))
(*.f64 im (/.f64 im re))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 re re)))
(log.f64 (exp.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))

eval524.0ms (7.2%)

Compiler

Compiled 16721 to 8988 computations (46.2% saved)

prune354.0ms (4.8%)

Pruning

14 alts after pruning (10 fresh and 4 done)

PrunedKeptTotal
New95210962
Fresh000
Picked101
Done145
Total95414968
Error
0.1b
Counts
968 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
49.1b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
51.8b
(*.f64 1/2 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
48.8b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
48.8b
(*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
51.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im)))
48.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
30.1b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
55.3b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
29.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))))
31.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
49.9b
(*.f64 1/2 (exp.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
Compiler

Compiled 256 to 201 computations (21.5% saved)

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 16 computations (48.4% saved)

series3.0ms (0%)

Counts
2 → 16
Calls

12 calls:

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

rewrite91.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
886×*-commutative
714×unswap-sqr
516×swap-sqr
498×associate-*r/
436×associate-*l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
120828
2255128
Stop Event
node limit
Counts
2 → 70
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 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (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 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (sqrt.f64 2)) (sqrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 2)) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (cbrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))) 1) (+.f64 (exp.f64 (log1p.f64 (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 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)))) (#(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 (*.f64 (-.f64 im re) 2) 1/2)))) (#(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 sqrt.f64 (*.f64 (-.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x 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 exp.f64 (log.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 +.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (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 (sqrt.f64 (-.f64 im re)) (pow.f64 1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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 (cbrt.f64 (-.f64 im re)) (cbrt.f64 (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 (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 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (/.f64 1 (sqrt.f64 (+.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (/.f64 1 (sqrt.f64 (fma.f64 im im (*.f64 re (+.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 (pow.f64 (cbrt.f64 (-.f64 im re)) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))) (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (*.f64 (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (sqrt.f64 (cbrt.f64 (-.f64 im re)))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (sqrt.f64 (cbrt.f64 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3/2) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/6) (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))) (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (sqrt.f64 (+.f64 im re)))))) (#(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 (*.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (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 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (cbrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 1 1/2) (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 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) 1) (sqrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) 1) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))) 1) (+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) 1))))) (#(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) 1/4) 2)))) (#(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) 3/2) 1/3)))) (#(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 log.f64 (+.f64 1 (expm1.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 exp.f64 (log.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 im re))))))))

simplify88.0ms (1.2%)

Algorithm
egg-herbie
Rules
1808×associate-*r/
1468×associate-/r/
998×fma-def
716×*-commutative
596×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02533526
15893412
217433332
350463332
Stop Event
node limit
Counts
86 → 162
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 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) -1)
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1)
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (sqrt.f64 2)) (sqrt.f64 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 2)) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (cbrt.f64 (+.f64 im re)))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))) 1) (+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 3)
(pow.f64 (*.f64 (-.f64 im re) 2) 1/2)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3) 1/3)
(sqrt.f64 (*.f64 (-.f64 im re) 2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3))
(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))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) -1)
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) 1)
(*.f64 (sqrt.f64 (-.f64 im re)) 1)
(*.f64 (sqrt.f64 (-.f64 im re)) (pow.f64 1 1/2))
(*.f64 1 (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 (-.f64 im re) 1/4))
(*.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 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (/.f64 1 (sqrt.f64 (+.f64 im re))))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (/.f64 1 (sqrt.f64 (fma.f64 im im (*.f64 re (+.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 (pow.f64 (cbrt.f64 (-.f64 im re)) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2) 1/2))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))) (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (*.f64 (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (sqrt.f64 (cbrt.f64 (-.f64 im re)))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (sqrt.f64 (cbrt.f64 (-.f64 im re)))))
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3/2) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3/2))
(*.f64 (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/6) (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/6))
(/.f64 1 (/.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))))
(/.f64 1 (/.f64 (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))) (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))
(/.f64 (*.f64 1 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (cbrt.f64 (+.f64 im re)))
(/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))
(/.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) 1) (sqrt.f64 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) 1) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (+.f64 im re)))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))) 1) (+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) 1))
(pow.f64 (-.f64 im re) 1/2)
(pow.f64 (sqrt.f64 (-.f64 im re)) 1)
(pow.f64 (pow.f64 (-.f64 im re) 1/4) 2)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3)
(pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/3)
(fabs.f64 (sqrt.f64 (-.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 im re)))))
(cbrt.f64 (pow.f64 (-.f64 im re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 im re))))
(log1p.f64 (expm1.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 (*.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 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (/.f64 im (sqrt.f64 -1))) (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) (/.f64 (sqrt.f64 -1) im)) (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 -1/8 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 (sqrt.f64 -1) im) (/.f64 -1 im)))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 1/8 (*.f64 im (/.f64 im (sqrt.f64 -1)))) (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) (/.f64 (sqrt.f64 -1) im)) (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 -1/8 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 (sqrt.f64 -1) im) (/.f64 -1 im))))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 im im)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 1/8 (*.f64 im (/.f64 im (sqrt.f64 -1)))) (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 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re -1/2) (sqrt.f64 2))))
(*.f64 (sqrt.f64 2) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 re re))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2)) (*.f64 (sqrt.f64 2) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (fma.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 re re)))))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (sqrt.f64 im))) (*.f64 (sqrt.f64 2) (fma.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2)))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))) (*.f64 (sqrt.f64 2) (fma.f64 -1/8 (*.f64 (*.f64 re 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 (*.f64 1/2 (/.f64 im (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (/.f64 im (sqrt.f64 -1))) (*.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))))
(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 -1/8 (*.f64 (/.f64 im (sqrt.f64 -1)) (/.f64 im -1))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 im (/.f64 (sqrt.f64 -1) im))))))
(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 im (/.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 (*.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 (*.f64 1/16 (/.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 (sqrt.f64 -1)) (/.f64 im -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 1/16 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (/.f64 im (/.f64 (sqrt.f64 -1) im))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 re) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/8 (*.f64 im (/.f64 im (sqrt.f64 -1)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(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 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2))))
(fma.f64 (*.f64 re re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2)))))
(+.f64 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/8 (*.f64 re re)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2))) (fma.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (sqrt.f64 im)))
(+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) -1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im))))
(/.f64 (*.f64 (sqrt.f64 2) (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 2) (/.f64 (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im)))) (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im))))) (sqrt.f64 2))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 (fma.f64 re (+.f64 re im) (*.f64 im im)))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (sqrt.f64 2)) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 2)) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im)))) (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im))))) (sqrt.f64 2))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 (fma.f64 re (+.f64 re im) (*.f64 im im)))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (cbrt.f64 (+.f64 im re)))
(/.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (/.f64 (cbrt.f64 (+.f64 re im)) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re))))))
(/.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (/.f64 (/.f64 (cbrt.f64 (+.f64 re im)) (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 (-.f64 im re)))))
(*.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (/.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (cbrt.f64 (+.f64 re im))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im)))))
(*.f64 (/.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im))))) (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re)))))
(*.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (cbrt.f64 (fma.f64 re (+.f64 re im) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))) 1) (+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (sqrt.f64 (*.f64 2 (-.f64 im re)))) (+.f64 1 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))) (+.f64 1 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 3)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (*.f64 (-.f64 im re) 2) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3) 1/3)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(sqrt.f64 (*.f64 (-.f64 im re) 2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (-.f64 im re) 3/2)))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (-.f64 im re) 3/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))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) -1)
(sqrt.f64 (-.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) 1)
(sqrt.f64 (-.f64 im re))
(*.f64 (sqrt.f64 (-.f64 im re)) 1)
(sqrt.f64 (-.f64 im re))
(*.f64 (sqrt.f64 (-.f64 im re)) (pow.f64 1 1/2))
(sqrt.f64 (-.f64 im re))
(*.f64 1 (sqrt.f64 (-.f64 im re)))
(sqrt.f64 (-.f64 im re))
(*.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 (-.f64 im re) 1/4))
(sqrt.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 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (fabs.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (-.f64 im re)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (/.f64 1 (sqrt.f64 (+.f64 im re))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im)))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (fabs.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (-.f64 im re)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (/.f64 1 (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 (pow.f64 1 1/2) (sqrt.f64 (-.f64 im re)))
(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 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (fabs.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (-.f64 im re)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (fabs.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (-.f64 im re)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))))))
(sqrt.f64 (-.f64 im re))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))) (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))))
(*.f64 (cbrt.f64 (-.f64 im re)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (*.f64 (sqrt.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))))
(sqrt.f64 (-.f64 im re))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (sqrt.f64 (cbrt.f64 (-.f64 im re)))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (sqrt.f64 (cbrt.f64 (-.f64 im re)))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))) (*.f64 (sqrt.f64 (cbrt.f64 (-.f64 im re))) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))))
(*.f64 (cbrt.f64 (-.f64 im re)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 1/4)) (cbrt.f64 (pow.f64 (-.f64 im re) 1/4))))
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3/2) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3/2))
(sqrt.f64 (-.f64 im re))
(*.f64 (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/6) (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/6))
(cbrt.f64 (pow.f64 (-.f64 im re) 3/2))
(/.f64 1 (/.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im)))
(/.f64 1 (/.f64 (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))) (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))))
(/.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 re) (+.f64 im re))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im)))
(/.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 (*.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im)))
(/.f64 (*.f64 1 (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 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (cbrt.f64 (+.f64 im re)))
(/.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (/.f64 (cbrt.f64 (+.f64 re im)) (cbrt.f64 (sqrt.f64 (-.f64 im re)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (cbrt.f64 (+.f64 re im))) (cbrt.f64 (sqrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (+.f64 re im))))
(/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (/.f64 (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im)))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))))
(*.f64 (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im))))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))))
(*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (fma.f64 re (+.f64 re im) (*.f64 im im)))))
(/.f64 (*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re)))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im)))
(/.f64 (*.f64 (pow.f64 1 1/2) (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 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) 1) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (sqrt.f64 (+.f64 re im)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) 1) (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 (*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 im re))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (+.f64 im re)))
(/.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (/.f64 (cbrt.f64 (+.f64 re im)) (cbrt.f64 (sqrt.f64 (-.f64 im re)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (cbrt.f64 (+.f64 re im))) (cbrt.f64 (sqrt.f64 (-.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 (-.f64 im re) (+.f64 re im))) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (+.f64 re im))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (cbrt.f64 (sqrt.f64 (-.f64 im re)))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))
(/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (/.f64 (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im)))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3)))))
(*.f64 (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (fma.f64 im im (*.f64 re (+.f64 re im))))) (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))))
(*.f64 (cbrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (fma.f64 re (+.f64 re im) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))) 1) (+.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re)))) 1))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))) (sqrt.f64 (-.f64 im re))) (+.f64 1 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (sqrt.f64 (-.f64 im re))))) (+.f64 1 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))))
(pow.f64 (-.f64 im re) 1/2)
(sqrt.f64 (-.f64 im re))
(pow.f64 (sqrt.f64 (-.f64 im re)) 1)
(sqrt.f64 (-.f64 im re))
(pow.f64 (pow.f64 (-.f64 im re) 1/4) 2)
(sqrt.f64 (-.f64 im re))
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3)
(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))
(fabs.f64 (sqrt.f64 (-.f64 im re)))
(sqrt.f64 (-.f64 im re))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 im re))))
(sqrt.f64 (-.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 im re)))))
(sqrt.f64 (-.f64 im re))
(cbrt.f64 (pow.f64 (-.f64 im re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))
(sqrt.f64 (-.f64 im re))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 im re))))
(sqrt.f64 (-.f64 im re))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 im re))))
(sqrt.f64 (-.f64 im re))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1432×add-sqr-sqrt
1414×*-un-lft-identity
1316×add-cube-cbrt
1300×add-cbrt-cube
1288×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify54.0ms (0.7%)

Algorithm
egg-herbie
Rules
1228×associate-*r*
1122×distribute-rgt-in
1110×distribute-lft-in
1022×associate-*l*
752×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
087949
1203811
2746697
34501697
Stop Event
node limit
Counts
43 → 45
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.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 (/.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 (*.f64 im im) re)))
(*.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 (pow.f64 re -1/2) im)
(*.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 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (/.f64 1 (cbrt.f64 re)) im) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) 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 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (/.f64 1 (cbrt.f64 re)) im) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)))
(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 (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 (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 (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 (/.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 (/.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))
(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))
(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))
(exp.f64 (*.f64 (log.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))
(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))

localize12.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 19 computations (29.6% saved)

series2.0ms (0%)

Counts
2 → 0
Calls

9 calls:

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

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1548×add-sqr-sqrt
1528×*-un-lft-identity
1416×add-cube-cbrt
1398×add-cbrt-cube
1382×add-exp-log
Iterations

Useful iterations: 1 (0.0ms)

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

simplify103.0ms (1.4%)

Algorithm
egg-herbie
Rules
734×associate-/l*
636×*-commutative
578×fma-def
486×distribute-lft-in
478×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
092875
1189659
2587455
32455455
Stop Event
node limit
Counts
41 → 46
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (+.f64 1 (pow.f64 re -1/2)) 1)
(*.f64 1 (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) 1)
(*.f64 (sqrt.f64 (pow.f64 re -1/2)) (sqrt.f64 (pow.f64 re -1/2)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 (pow.f64 re -1/2)) (/.f64 1 (cbrt.f64 re)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 re -2))) (sqrt.f64 (/.f64 1 (cbrt.f64 re))))
(*.f64 (pow.f64 1 1/2) (pow.f64 re -1/2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 re -2)) 1/2) (pow.f64 (/.f64 1 (cbrt.f64 re)) 1/2))
(/.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 (sqrt.f64 re) -1)
(pow.f64 (sqrt.f64 (pow.f64 re -1/2)) 2)
(pow.f64 (cbrt.f64 (pow.f64 re -1/2)) 3)
(pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3)
(fabs.f64 (pow.f64 re -1/2))
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) re))
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(exp.f64 (log.f64 (pow.f64 re -1/2)))
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
Outputs
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(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 (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 (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 (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))
(sqrt.f64 (pow.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))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(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))
(exp.f64 (*.f64 (log.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))
(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))
(-.f64 (+.f64 1 (pow.f64 re -1/2)) 1)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(*.f64 1 (pow.f64 re -1/2))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(*.f64 (pow.f64 re -1/2) 1)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(*.f64 (sqrt.f64 (pow.f64 re -1/2)) (sqrt.f64 (pow.f64 re -1/2)))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(*.f64 (/.f64 1 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re -1/2)))
(/.f64 (cbrt.f64 (pow.f64 re -1/2)) (cbrt.f64 re))
(*.f64 (cbrt.f64 (pow.f64 re -1/2)) (/.f64 1 (cbrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re -1/2)))
(/.f64 (cbrt.f64 (pow.f64 re -1/2)) (cbrt.f64 re))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 re -2))) (sqrt.f64 (/.f64 1 (cbrt.f64 re))))
(*.f64 (pow.f64 1 1/2) (pow.f64 re -1/2))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 re -2)) 1/2) (pow.f64 (/.f64 1 (cbrt.f64 re)) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 re -2))) (sqrt.f64 (/.f64 1 (cbrt.f64 re))))
(/.f64 1 (sqrt.f64 re))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(/.f64 1 (/.f64 (sqrt.f64 re) 1))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(/.f64 -1 (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(/.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))
(pow.f64 re -1/2)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 (/.f64 1 re) 1/2)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re -1/2) 1)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(pow.f64 (sqrt.f64 re) -1)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(pow.f64 (sqrt.f64 (pow.f64 re -1/2)) 2)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(pow.f64 (cbrt.f64 (pow.f64 re -1/2)) 3)
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(pow.f64 (/.f64 (pow.f64 re -1/2) re) 1/3)
(cbrt.f64 (/.f64 (pow.f64 re -1/2) re))
(fabs.f64 (pow.f64 re -1/2))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(cbrt.f64 (/.f64 (pow.f64 re -1/2) re))
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(exp.f64 (log.f64 (pow.f64 re -1/2)))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/2)) 1))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
(+.f64 1 (-.f64 (pow.f64 re -1/2) 1))
(+.f64 (pow.f64 re -1/2) 0)
(pow.f64 re -1/2)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 9 computations (70% saved)

series4.0ms (0.1%)

Counts
2 → 12
Calls

12 calls:

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

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1788×add-sqr-sqrt
1776×*-un-lft-identity
1648×add-cube-cbrt
1622×add-cbrt-cube
180×pow1
Iterations

Useful iterations: 1 (0.0ms)

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

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
922×*-commutative
742×distribute-lft-in
682×distribute-rgt-in
666×associate-*r*
626×associate-/l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0121962
1242920
2664856
32795828
Stop Event
node limit
Counts
60 → 62
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 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 im re)))) 1)
(*.f64 (sqrt.f64 (/.f64 im re)) 1)
(*.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 re -1)))
(*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re)))
(*.f64 (sqrt.f64 im) (pow.f64 (pow.f64 re -1) 1/2))
(*.f64 1 (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 (/.f64 im re) 1/4) (pow.f64 (/.f64 im re) 1/4))
(*.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 (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 im) (sqrt.f64 re))
(/.f64 1 (sqrt.f64 (/.f64 re im)))
(/.f64 1 (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (pow.f64 im 1/4) (/.f64 (sqrt.f64 re) (pow.f64 im 1/4)))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (sqrt.f64 im))))
(/.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 re)))
(/.f64 (neg.f64 (sqrt.f64 im)) (neg.f64 (sqrt.f64 re)))
(pow.f64 (/.f64 im re) 1/2)
(pow.f64 (sqrt.f64 (/.f64 im re)) 1)
(pow.f64 (pow.f64 (/.f64 im re) 1/4) 2)
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 im re))) 3)
(pow.f64 (pow.f64 (/.f64 im re) 3/2) 1/3)
(fabs.f64 (sqrt.f64 (/.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 im re)))))
(cbrt.f64 (pow.f64 (/.f64 im re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 im re))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (/.f64 im re)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 im re))) 1))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 im re))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (pow.f64 re -1)) im)
(*.f64 (pow.f64 re -1/2) im)
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 im re)))) 1)
(sqrt.f64 (/.f64 im re))
(*.f64 (sqrt.f64 (/.f64 im re)) 1)
(sqrt.f64 (/.f64 im re))
(*.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 re -1)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 (pow.f64 re -1)) (sqrt.f64 im))
(*.f64 (pow.f64 re -1/2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 im) (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (pow.f64 (pow.f64 re -1) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 (pow.f64 re -1)) (sqrt.f64 im))
(*.f64 (pow.f64 re -1/2) (sqrt.f64 im))
(*.f64 1 (sqrt.f64 (/.f64 im re)))
(sqrt.f64 (/.f64 im re))
(*.f64 (pow.f64 (/.f64 im re) 1/4) (pow.f64 (/.f64 im re) 1/4))
(sqrt.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 (cbrt.f64 (/.f64 im re)) (cbrt.f64 (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)))
(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 im) (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re)))
(/.f64 1 (sqrt.f64 (/.f64 re im)))
(/.f64 1 (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 im) (sqrt.f64 re))
(/.f64 (pow.f64 im 1/4) (/.f64 (sqrt.f64 re) (pow.f64 im 1/4)))
(*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 im) (sqrt.f64 re))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 re) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 (cbrt.f64 im) (sqrt.f64 re)) (cbrt.f64 (sqrt.f64 im)))
(*.f64 (cbrt.f64 (sqrt.f64 im)) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(/.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 re)))
(/.f64 (neg.f64 (sqrt.f64 im)) (neg.f64 (sqrt.f64 re)))
(*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re)))
(/.f64 (sqrt.f64 im) (sqrt.f64 re))
(pow.f64 (/.f64 im re) 1/2)
(sqrt.f64 (/.f64 im re))
(pow.f64 (sqrt.f64 (/.f64 im re)) 1)
(sqrt.f64 (/.f64 im re))
(pow.f64 (pow.f64 (/.f64 im re) 1/4) 2)
(sqrt.f64 (/.f64 im re))
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 im re))) 3)
(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))
(fabs.f64 (sqrt.f64 (/.f64 im re)))
(sqrt.f64 (/.f64 im re))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 im re))))
(sqrt.f64 (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 im re)))))
(sqrt.f64 (/.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 im re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 im re))))
(sqrt.f64 (/.f64 im re))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 im re))))
(sqrt.f64 (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (/.f64 im re)) 1/2))
(sqrt.f64 (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 im re))) 1))
(sqrt.f64 (/.f64 im re))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 im re))))
(sqrt.f64 (/.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 im (sqrt.f64 re))
2.4b
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
2.7b
(log.f64 (/.f64 im (sqrt.f64 re)))
Compiler

Compiled 30 to 9 computations (70% saved)

series82.0ms (1.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
57.0ms
im
@0
(log.f64 (/.f64 im (sqrt.f64 re)))
12.0ms
im
@-inf
(log.f64 (/.f64 im (sqrt.f64 re)))
11.0ms
im
@inf
(log.f64 (/.f64 im (sqrt.f64 re)))
1.0ms
re
@-inf
(log.f64 (/.f64 im (sqrt.f64 re)))
1.0ms
re
@0
(log.f64 (/.f64 im (sqrt.f64 re)))

rewrite83.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1586×add-sqr-sqrt
1568×*-un-lft-identity
1458×add-cube-cbrt
1440×add-cbrt-cube
1426×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify55.0ms (0.7%)

Algorithm
egg-herbie
Rules
754×associate-/l*
704×unswap-sqr
682×associate-*r/
648×distribute-lft-in
630×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01792159
14101957
216341777
Stop Event
node limit
Counts
95 → 98
Calls
Call 1
Inputs
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(*.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 (log.f64 im) (log.f64 (pow.f64 re -1/2)))
(+.f64 (log.f64 im) (neg.f64 (log.f64 (sqrt.f64 re))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (log.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 0 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(-.f64 (log.f64 im) (log.f64 (sqrt.f64 re)))
(-.f64 0 (log.f64 (/.f64 (sqrt.f64 re) im)))
(-.f64 (log.f64 (neg.f64 im)) (log.f64 (neg.f64 (sqrt.f64 re))))
(-.f64 (+.f64 1 (log.f64 (/.f64 im (sqrt.f64 re)))) 1)
(*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 1 (log.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2) (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 (-.f64 (*.f64 (log.f64 im) (log.f64 im)) (*.f64 (log.f64 (sqrt.f64 re)) (log.f64 (sqrt.f64 re)))) (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re))))
(/.f64 (-.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (sqrt.f64 re)) 3)) (+.f64 (*.f64 (log.f64 im) (log.f64 im)) (+.f64 (*.f64 (log.f64 (sqrt.f64 re)) (log.f64 (sqrt.f64 re))) (*.f64 (log.f64 im) (log.f64 (sqrt.f64 re))))))
(pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1)
(pow.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2)
(pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 3)
(pow.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3) 1/3)
(neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 2))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(exp.f64 (log.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 1))
(log1p.f64 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(-.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 (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 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(pow.f64 (exp.f64 1) (log.f64 (/.f64 im (sqrt.f64 re))))
(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)))))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.f64 (log.f64 im) (log.f64 (pow.f64 re -1/2)))
(fma.f64 -1/2 (log.f64 re) (log.f64 im))
(+.f64 (log.f64 im) (neg.f64 (log.f64 (sqrt.f64 re))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(+.f64 (log.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (log.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(+.f64 0 (log.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(+.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 (log.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))) (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))) (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(-.f64 (log.f64 im) (log.f64 (sqrt.f64 re)))
(log.f64 (/.f64 im (sqrt.f64 re)))
(-.f64 0 (log.f64 (/.f64 (sqrt.f64 re) im)))
(log.f64 (/.f64 im (sqrt.f64 re)))
(-.f64 (log.f64 (neg.f64 im)) (log.f64 (neg.f64 (sqrt.f64 re))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(-.f64 (+.f64 1 (log.f64 (/.f64 im (sqrt.f64 re)))) 1)
(log.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1)
(log.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 1 (log.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2))
(log.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2) (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(/.f64 (-.f64 (*.f64 (log.f64 im) (log.f64 im)) (*.f64 (log.f64 (sqrt.f64 re)) (log.f64 (sqrt.f64 re)))) (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re))) (log.f64 (/.f64 im (sqrt.f64 re)))) (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re)))) (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re))))
(/.f64 (-.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (sqrt.f64 re)) 3)) (+.f64 (*.f64 (log.f64 im) (log.f64 im)) (+.f64 (*.f64 (log.f64 (sqrt.f64 re)) (log.f64 (sqrt.f64 re))) (*.f64 (log.f64 im) (log.f64 (sqrt.f64 re))))))
(/.f64 (-.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (sqrt.f64 re)) 3)) (fma.f64 (log.f64 im) (log.f64 im) (*.f64 (log.f64 (sqrt.f64 re)) (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re))))))
(/.f64 (-.f64 (pow.f64 (log.f64 im) 3) (pow.f64 (log.f64 (sqrt.f64 re)) 3)) (fma.f64 (log.f64 (sqrt.f64 re)) (+.f64 (log.f64 im) (log.f64 (sqrt.f64 re))) (*.f64 (log.f64 im) (log.f64 im))))
(pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1)
(log.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2)
(log.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 3)
(log.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3) 1/3)
(log.f64 (/.f64 im (sqrt.f64 re)))
(neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))
(log.f64 (/.f64 im (sqrt.f64 re)))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 2))
(log.f64 (/.f64 im (sqrt.f64 re)))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3))
(log.f64 (/.f64 im (sqrt.f64 re)))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(exp.f64 (log.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(log.f64 (/.f64 im (sqrt.f64 re)))
(exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 1))
(log.f64 (/.f64 im (sqrt.f64 re)))
(log1p.f64 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(log1p.f64 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(log1p.f64 (+.f64 -1 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.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 (+.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 (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 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) im)
(*.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 (/.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 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) 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 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (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 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (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 (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 (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 (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 (/.f64 (sqrt.f64 re) im) -1)
(+.f64 1 (+.f64 (/.f64 im (sqrt.f64 re)) -1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(pow.f64 (exp.f64 1) (log.f64 (/.f64 im (sqrt.f64 re))))
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
(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)))))
(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))
(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))

eval170.0ms (2.3%)

Compiler

Compiled 7344 to 4323 computations (41.1% saved)

prune138.0ms (1.9%)

Pruning

21 alts after pruning (12 fresh and 9 done)

PrunedKeptTotal
New4508458
Fresh145
Picked011
Done088
Total45121472
Error
0.1b
Counts
472 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
49.1b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
49.9b
(*.f64 1/2 (pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re)))))
51.8b
(*.f64 1/2 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
48.8b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
48.8b
(*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
48.8b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
48.9b
(*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re)))))
51.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im)))
48.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
30.1b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
61.9b
(*.f64 1/2 (*.f64 (log.f64 (exp.f64 (sqrt.f64 (/.f64 im re)))) (sqrt.f64 im)))
49.7b
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2)) im))
55.3b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) im)))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
29.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))))
31.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
61.3b
(*.f64 1/2 (exp.f64 (pow.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3) 1/3)))
50.5b
(*.f64 1/2 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 3)))
49.9b
(*.f64 1/2 (exp.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
Compiler

Compiled 382 to 302 computations (20.9% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite54.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1320×add-sqr-sqrt
1296×*-un-lft-identity
1210×add-cube-cbrt
1194×add-cbrt-cube
1180×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Rules
1344×distribute-rgt-in
1316×distribute-lft-in
1096×log-prod
692×associate-*r*
654×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
042391
199391
2340299
31930299
Stop Event
node limit
Counts
23 → 13
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (*.f64 (pow.f64 re -1/2) im)) 1)
(pow.f64 (*.f64 (pow.f64 re -1/2) im) 1)
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 re -1/4)) 2)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3) 1/3)
(sqrt.f64 (*.f64 (*.f64 im im) (pow.f64 re -1)))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) im)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) im)))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(-.f64 (+.f64 1 (*.f64 (pow.f64 re -1/2) im)) 1)
(*.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 (*.f64 (sqrt.f64 im) (pow.f64 re -1/4)) 2)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/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 (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))
(sqrt.f64 (*.f64 (*.f64 im im) (pow.f64 re -1)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(cbrt.f64 (pow.f64 (*.f64 (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))
(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))
(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))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite82.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1658×add-sqr-sqrt
1642×*-un-lft-identity
1526×add-cube-cbrt
1504×add-cbrt-cube
164×pow1
Iterations

Useful iterations: 1 (0.0ms)

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

simplify76.0ms (1%)

Algorithm
egg-herbie
Rules
908×unswap-sqr
804×associate-*r/
572×distribute-lft-neg-out
530×associate-*l/
500×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01121273
12411261
29861253
352921253
Stop Event
node limit
Counts
85 → 59
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/2))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(/.f64 im (/.f64 re im))
(/.f64 1 (/.f64 re (*.f64 im im)))
(/.f64 (*.f64 im im) re)
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (neg.f64 (*.f64 im im)) (neg.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 (/.f64 im re)) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(/.f64 (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 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(/.f64 im (sqrt.f64 re))
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 1 (/.f64 re (*.f64 im im)))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 (*.f64 im im)) (neg.f64 re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (pow.f64 (exp.f64 (/.f64 im re)) im))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))

localize43.0ms (0.6%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 9 computations (70% saved)

series3.0ms (0%)

Counts
2 → 12
Calls

12 calls:

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

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1998×add-sqr-sqrt
1984×*-un-lft-identity
1850×add-cube-cbrt
1822×add-cbrt-cube
188×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (0.8%)

Algorithm
egg-herbie
Rules
1004×associate-/r*
868×distribute-rgt-in
868×distribute-lft-in
864×associate-*r*
724×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01631748
13551568
210511536
353871536
Stop Event
node limit
Counts
80 → 97
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 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 re im)))) 1)
(*.f64 (sqrt.f64 (/.f64 re im)) 1)
(*.f64 1 (sqrt.f64 (/.f64 re im)))
(*.f64 (pow.f64 (/.f64 re im) 1/4) (pow.f64 (/.f64 re im) 1/4))
(*.f64 (sqrt.f64 re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 re) (/.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 re) (pow.f64 (/.f64 1 im) 1/2))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 re im)))
(*.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 re im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 re im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 re im)) 1/2))
(/.f64 1 (sqrt.f64 (/.f64 im re)))
(/.f64 1 (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(/.f64 (sqrt.f64 re) (sqrt.f64 im))
(/.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (neg.f64 im)))
(/.f64 (/.f64 (sqrt.f64 re) 1) (sqrt.f64 im))
(/.f64 (/.f64 (sqrt.f64 re) (pow.f64 im 1/4)) (pow.f64 im 1/4))
(/.f64 (neg.f64 (sqrt.f64 re)) (neg.f64 (sqrt.f64 im)))
(/.f64 (/.f64 (sqrt.f64 re) (cbrt.f64 im)) (cbrt.f64 (sqrt.f64 im)))
(pow.f64 (/.f64 re im) 1/2)
(pow.f64 (sqrt.f64 (/.f64 re im)) 1)
(pow.f64 (pow.f64 (/.f64 re im) 1/4) 2)
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 re im))) 3)
(pow.f64 (pow.f64 (/.f64 re im) 3/2) 1/3)
(fabs.f64 (sqrt.f64 (/.f64 re im)))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 re im)))))
(cbrt.f64 (pow.f64 (/.f64 re im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 re im))))
(exp.f64 (*.f64 (log.f64 (/.f64 re im)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 re im))) 1))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 re im))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 1)
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 re im) -1/2))
(*.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 im 1/4) (*.f64 (pow.f64 im 1/4) (pow.f64 (/.f64 re im) -1/2)))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im))) (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 (sqrt.f64 im)) (pow.f64 (/.f64 re im) -1/2)))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (pow.f64 (/.f64 re im) -1/2) (sqrt.f64 im))
(*.f64 (neg.f64 (sqrt.f64 im)) (/.f64 1 (neg.f64 (sqrt.f64 (/.f64 re im)))))
(*.f64 (/.f64 1 (pow.f64 (/.f64 re im) 1/4)) (/.f64 (sqrt.f64 im) (pow.f64 (/.f64 re im) 1/4)))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 re im))) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 (/.f64 re im)))))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (sqrt.f64 im))
(*.f64 (/.f64 (pow.f64 im 1/4) 1) (/.f64 (pow.f64 im 1/4) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (pow.f64 im 1/4) (cbrt.f64 (/.f64 re im))) (/.f64 (pow.f64 im 1/4) (cbrt.f64 (sqrt.f64 (/.f64 re im)))))
(*.f64 (/.f64 (cbrt.f64 im) 1) (/.f64 (cbrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (cbrt.f64 im) (pow.f64 (/.f64 re im) 1/4)) (/.f64 (cbrt.f64 (sqrt.f64 im)) (pow.f64 (/.f64 re im) 1/4)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 1)
(pow.f64 (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im))) 2)
(pow.f64 (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))) 3)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(neg.f64 (/.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 (/.f64 re im)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 3))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 re im)))) 1)
(sqrt.f64 (/.f64 re im))
(*.f64 (sqrt.f64 (/.f64 re im)) 1)
(sqrt.f64 (/.f64 re im))
(*.f64 1 (sqrt.f64 (/.f64 re im)))
(sqrt.f64 (/.f64 re im))
(*.f64 (pow.f64 (/.f64 re im) 1/4) (pow.f64 (/.f64 re im) 1/4))
(sqrt.f64 (/.f64 re im))
(*.f64 (sqrt.f64 re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 re) (/.f64 1 (sqrt.f64 im)))
(/.f64 (sqrt.f64 re) (sqrt.f64 im))
(*.f64 (sqrt.f64 re) (pow.f64 (/.f64 1 im) 1/2))
(*.f64 (sqrt.f64 re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 re im)))
(*.f64 (cbrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 re im)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 re im))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 re im))) (sqrt.f64 (cbrt.f64 (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 re im)) (sqrt.f64 (cbrt.f64 (/.f64 re im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 re im)))
(sqrt.f64 (/.f64 re im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 re im)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 re im))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 re im))) (sqrt.f64 (cbrt.f64 (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 re im)) (sqrt.f64 (cbrt.f64 (/.f64 re im))))
(/.f64 1 (sqrt.f64 (/.f64 im re)))
(/.f64 1 (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (sqrt.f64 re) (/.f64 1 (sqrt.f64 im)))
(/.f64 (sqrt.f64 re) (sqrt.f64 im))
(/.f64 (sqrt.f64 re) (sqrt.f64 im))
(*.f64 (sqrt.f64 re) (/.f64 1 (sqrt.f64 im)))
(/.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (neg.f64 im)))
(/.f64 (/.f64 (sqrt.f64 re) 1) (sqrt.f64 im))
(*.f64 (sqrt.f64 re) (/.f64 1 (sqrt.f64 im)))
(/.f64 (sqrt.f64 re) (sqrt.f64 im))
(/.f64 (/.f64 (sqrt.f64 re) (pow.f64 im 1/4)) (pow.f64 im 1/4))
(*.f64 (sqrt.f64 re) (/.f64 1 (sqrt.f64 im)))
(/.f64 (sqrt.f64 re) (sqrt.f64 im))
(/.f64 (neg.f64 (sqrt.f64 re)) (neg.f64 (sqrt.f64 im)))
(*.f64 (sqrt.f64 re) (/.f64 1 (sqrt.f64 im)))
(/.f64 (sqrt.f64 re) (sqrt.f64 im))
(/.f64 (/.f64 (sqrt.f64 re) (cbrt.f64 im)) (cbrt.f64 (sqrt.f64 im)))
(/.f64 (sqrt.f64 re) (*.f64 (cbrt.f64 (sqrt.f64 im)) (cbrt.f64 im)))
(/.f64 (sqrt.f64 re) (*.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 im))))
(pow.f64 (/.f64 re im) 1/2)
(sqrt.f64 (/.f64 re im))
(pow.f64 (sqrt.f64 (/.f64 re im)) 1)
(sqrt.f64 (/.f64 re im))
(pow.f64 (pow.f64 (/.f64 re im) 1/4) 2)
(sqrt.f64 (/.f64 re im))
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 re im))) 3)
(sqrt.f64 (/.f64 re im))
(pow.f64 (pow.f64 (/.f64 re im) 3/2) 1/3)
(cbrt.f64 (pow.f64 (/.f64 re im) 3/2))
(fabs.f64 (sqrt.f64 (/.f64 re im)))
(sqrt.f64 (/.f64 re im))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 re im))))
(sqrt.f64 (/.f64 re im))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 re im)))))
(sqrt.f64 (/.f64 re im))
(cbrt.f64 (pow.f64 (/.f64 re im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 re im))))
(sqrt.f64 (/.f64 re im))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 re im))))
(sqrt.f64 (/.f64 re im))
(exp.f64 (*.f64 (log.f64 (/.f64 re im)) 1/2))
(sqrt.f64 (/.f64 re im))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 re im))) 1))
(sqrt.f64 (/.f64 re im))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 re im))))
(sqrt.f64 (/.f64 re im))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 1)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 re im) -1/2))
(*.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 1)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(*.f64 1 (sqrt.f64 (*.f64 im (/.f64 im re))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(*.f64 (pow.f64 im 1/4) (*.f64 (pow.f64 im 1/4) (pow.f64 (/.f64 re im) -1/2)))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 re im) -1/2))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im))) (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im))))
(pow.f64 (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im))) 2)
(*.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 (sqrt.f64 im)) (pow.f64 (/.f64 re im) -1/2)))
(*.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 im))) (pow.f64 (/.f64 re im) -1/2))
(*.f64 (pow.f64 (/.f64 re im) -1/2) (*.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(/.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(/.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (pow.f64 (/.f64 re im) -1/2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (pow.f64 (/.f64 re im) -1/2))
(*.f64 (neg.f64 (sqrt.f64 im)) (/.f64 1 (neg.f64 (sqrt.f64 (/.f64 re im)))))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 im)) 1) (neg.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 1 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 1 (pow.f64 (/.f64 re im) 1/4)) (/.f64 (sqrt.f64 im) (pow.f64 (/.f64 re im) 1/4)))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 im)) 1) (neg.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 1 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 re im))) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 (/.f64 re im)))))
(/.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 (/.f64 re im)))) (cbrt.f64 (/.f64 re im)))
(/.f64 (sqrt.f64 im) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 re im))))
(/.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))) (cbrt.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (sqrt.f64 im))
(/.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 im)) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 im 1/4) 1) (/.f64 (pow.f64 im 1/4) (sqrt.f64 (/.f64 re im))))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 im)) 1) (neg.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 1 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 (pow.f64 im 1/4) (cbrt.f64 (/.f64 re im))) (/.f64 (pow.f64 im 1/4) (cbrt.f64 (sqrt.f64 (/.f64 re im)))))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 re im))) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 (/.f64 re im)))))
(/.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 (/.f64 re im)))) (cbrt.f64 (/.f64 re im)))
(/.f64 (sqrt.f64 im) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 re im))))
(/.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))) (cbrt.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (cbrt.f64 im) 1) (/.f64 (cbrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))))
(*.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (cbrt.f64 (sqrt.f64 im)) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 im))) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 (cbrt.f64 im) (pow.f64 (/.f64 re im) 1/4)) (/.f64 (cbrt.f64 (sqrt.f64 im)) (pow.f64 (/.f64 re im) 1/4)))
(*.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (sqrt.f64 im)) (sqrt.f64 (/.f64 re im))))
(/.f64 (cbrt.f64 im) (/.f64 (sqrt.f64 (/.f64 re im)) (cbrt.f64 (sqrt.f64 im))))
(*.f64 (cbrt.f64 (sqrt.f64 im)) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 im))) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))) (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))))
(/.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 re im))) (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 re) im)) (cbrt.f64 (/.f64 re im))))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 1)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(pow.f64 (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 re) im))) 2)
(pow.f64 (/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im))) 3)
(/.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 im)) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 3) 1/3)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(/.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 im)) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 (/.f64 re im)))))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 im)) 1) (neg.f64 (sqrt.f64 (/.f64 re im))))
(*.f64 1 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 3))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(exp.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))))
(/.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 im)) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 re) im))) 1))
(/.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 im)) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 im (sqrt.f64 re))
0.3b
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
2.9b
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
Compiler

Compiled 33 to 13 computations (60.6% saved)

series29.0ms (0.4%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
11.0ms
re
@0
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
8.0ms
re
@inf
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
2.0ms
re
@-inf
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
1.0ms
im
@-inf
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
1.0ms
im
@0
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)

rewrite112.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1800×add-sqr-sqrt
1764×*-un-lft-identity
1666×add-cube-cbrt
1648×add-cbrt-cube
176×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify97.0ms (1.3%)

Algorithm
egg-herbie
Rules
1694×associate-+r+
1104×associate-/l*
948×times-frac
890×associate-/r*
792×unswap-sqr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01862174
14022028
215032028
369252028
Stop Event
node limit
Counts
100 → 98
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))) 1)
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 1 (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 im) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 im) (/.f64 1 (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 im) (pow.f64 (pow.f64 re -1/2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3) (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3))
(/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 1 (/.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 im)))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (neg.f64 (cbrt.f64 im)) (neg.f64 (cbrt.f64 (sqrt.f64 re))))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1/3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 2)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 3)
(sqrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 1))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1/3))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.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 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3) (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) 3) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 im)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(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))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))) 1)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 1 (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 im) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 im) (/.f64 1 (cbrt.f64 (sqrt.f64 re))))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (cbrt.f64 im) (pow.f64 (pow.f64 re -1/2) 1/3))
(*.f64 (cbrt.f64 im) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3) (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 1 (/.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 im)))
(*.f64 (cbrt.f64 im) (/.f64 1 (cbrt.f64 (sqrt.f64 re))))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (cbrt.f64 im) (/.f64 1 (cbrt.f64 (sqrt.f64 re))))
(/.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (neg.f64 (cbrt.f64 im)) (neg.f64 (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 im) (/.f64 1 (cbrt.f64 (sqrt.f64 re))))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1/3)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 2)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 3)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(sqrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)))
(sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))))))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 1))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1/3))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 im (pow.f64 re -1/2))
(*.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 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (cbrt.f64 (/.f64 (*.f64 im im) 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 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 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 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))) 4))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 4))
(*.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 (*.f64 im im) re)))
(*.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 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1) (cbrt.f64 (/.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 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(*.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 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))) 4))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 4))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(/.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 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3) (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) 3) (cbrt.f64 (/.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 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(/.f64 im (sqrt.f64 re))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 im (sqrt.f64 re))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(/.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 im)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 im)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (*.f64 (/.f64 im re) im))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 im (sqrt.f64 re))
2.5b
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
2.7b
(log.f64 (/.f64 im (sqrt.f64 re)))
Compiler

Compiled 33 to 10 computations (69.7% saved)

series61.0ms (0.8%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
56.0ms
im
@0
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
2.0ms
re
@inf
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
1.0ms
re
@0
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
1.0ms
re
@-inf
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))
0.0ms
im
@inf
(pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re))))

rewrite67.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
2008×add-sqr-sqrt
1986×*-un-lft-identity
1846×add-cube-cbrt
1824×add-cbrt-cube
222×pow1
Iterations

Useful iterations: 1 (0.0ms)

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

simplify114.0ms (1.6%)

Algorithm
egg-herbie
Rules
1364×associate-+r+
862×associate-*r*
756×associate-*l*
624×associate-/l*
554×associate-+l+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01311099
12921081
28851081
348581081
Stop Event
node limit
Counts
53 → 54
Calls
Call 1
Inputs
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.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 (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 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 1 (log.f64 (/.f64 im (sqrt.f64 re)))) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (E.f64)) (log.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (sqrt.f64 (E.f64)) (log.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 2)) (log.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (E.f64)) (log.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (pow.f64 (E.f64) (log.f64 im)) (pow.f64 (E.f64) (log.f64 (sqrt.f64 re))))
(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))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 (sqrt.f64 (/.f64 1 re)))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(pow.f64 (E.f64) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 (*.f64 -1 (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (E.f64) (+.f64 (log.f64 (sqrt.f64 (/.f64 1 re))) (log.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(/.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 (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 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(/.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 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)))
(*.f64 (pow.f64 1 (log.f64 (/.f64 im (sqrt.f64 re)))) (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (sqrt.f64 (E.f64)) (log.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (sqrt.f64 (E.f64)) (log.f64 (/.f64 im (sqrt.f64 re)))))
(pow.f64 (sqrt.f64 (E.f64)) (*.f64 2 (log.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 2)) (log.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (E.f64)) (log.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(/.f64 im (sqrt.f64 re))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 im (sqrt.f64 re))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(/.f64 (pow.f64 (E.f64) (log.f64 im)) (pow.f64 (E.f64) (log.f64 (sqrt.f64 re))))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(/.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 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.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))

eval142.0ms (1.9%)

Compiler

Compiled 5635 to 2616 computations (53.6% saved)

prune87.0ms (1.2%)

Pruning

23 alts after pruning (10 fresh and 13 done)

PrunedKeptTotal
New4484452
Fresh167
Picked011
Done11213
Total45023473
Error
0.1b
Counts
473 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
50.0b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1/3)) 3))
49.1b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
61.3b
(*.f64 1/2 (pow.f64 (E.f64) (pow.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3) 1/3)))
49.9b
(*.f64 1/2 (pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re)))))
51.7b
(*.f64 1/2 (/.f64 (sqrt.f64 im) (pow.f64 (pow.f64 (/.f64 re im) 1/4) 2)))
51.8b
(*.f64 1/2 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
48.8b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
48.8b
(*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
48.8b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
51.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im)))
48.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
30.1b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
61.9b
(*.f64 1/2 (*.f64 (log.f64 (exp.f64 (sqrt.f64 (/.f64 im re)))) (sqrt.f64 im)))
49.7b
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2)) im))
55.3b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) im)))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
29.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))))
31.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
61.3b
(*.f64 1/2 (exp.f64 (pow.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3) 1/3)))
50.5b
(*.f64 1/2 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 3)))
55.8b
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/2)))
Compiler

Compiled 266 to 214 computations (19.5% saved)

regimes241.0ms (3.3%)

Counts
29 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1/2 (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im)))
(*.f64 1/2 (/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2)) im))
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (exp.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
(*.f64 1/2 (/.f64 (sqrt.f64 im) (pow.f64 (pow.f64 (/.f64 re im) 1/4) 2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (/.f64 im re))))))))
(*.f64 1/2 (pow.f64 (E.f64) (log.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 1/2 (*.f64 (log.f64 (exp.f64 (sqrt.f64 (/.f64 im re)))) (sqrt.f64 im)))
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 1/3)) 3))
(*.f64 1/2 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 3)))
(*.f64 1/2 (exp.f64 (pow.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3) 1/3)))
(*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re)))))
(*.f64 1/2 (pow.f64 (E.f64) (pow.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) 3) 1/3)))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Calls

7 calls:

79.0ms
im
46.0ms
(*.f64 im im)
26.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
26.0ms
re
20.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
Results
ErrorSegmentsBranch
5.9b2re
11.2b3im
6.4b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
6.4b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
6.3b2(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
6.3b2(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
13.0b1(*.f64 im im)
Compiler

Compiled 360 to 225 computations (37.5% saved)

bsearch17.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
1.1096035486144081e+54
2.0647835232007187e+54
Results
6.0ms18×body2048valid
3.0ms30×body256valid
3.0msbody4096valid
2.0msbody1024valid
1.0msbody512valid
Compiler

Compiled 110 to 84 computations (23.6% saved)

regimes392.0ms (5.4%)

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

3 calls:

308.0ms
im
64.0ms
re
14.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
13.2b3re
20.3b5im
23.1b3(*.f64 im im)
Compiler

Compiled 131 to 89 computations (32.1% saved)

bsearch68.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
1.2151602902654171e-49
1.007273936867692e-48
18.0ms
-4.090710982966309e+25
-5.161197345664347e+21
Results
24.0ms196×body256valid
6.0ms18×body2048valid
2.0msbody1024valid
1.0msbody512valid
Compiler

Compiled 330 to 276 computations (16.4% saved)

regimes43.0ms (0.6%)

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

2 calls:

23.0ms
im
18.0ms
re
Results
ErrorSegmentsBranch
13.2b3re
20.3b5im
Compiler

Compiled 59 to 42 computations (28.8% saved)

bsearch46.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
2.987568407456241e-52
1.0637814529665656e-49
18.0ms
-4.090710982966309e+25
-5.161197345664347e+21
Results
30.0ms213×body256valid
6.0ms17×body2048valid
4.0ms16×body1024valid
2.0ms10×body512valid
Compiler

Compiled 358 to 296 computations (17.3% saved)

regimes39.0ms (0.5%)

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

2 calls:

26.0ms
im
12.0ms
re
Results
ErrorSegmentsBranch
14.0b3re
21.0b5im
Compiler

Compiled 35 to 27 computations (22.9% saved)

bsearch40.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
1.2151602902654171e-49
1.007273936867692e-48
18.0ms
-4.090710982966309e+25
-5.161197345664347e+21
Results
24.0ms193×body256valid
9.0ms12×body2048valid
4.0ms13×body1024valid
1.0msbody512valid
Compiler

Compiled 290 to 250 computations (13.8% saved)

regimes21.0ms (0.3%)

Accuracy

Total -38.0b remaining (-156.8%)

Threshold costs -38.0b (-156.8%)

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

2 calls:

13.0ms
im
7.0ms
re
Results
ErrorSegmentsBranch
24.2b2re
25.9b4im
Compiler

Compiled 27 to 20 computations (25.9% saved)

bsearch21.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
1.2151602902654171e-49
1.007273936867692e-48
Results
9.0ms61×body256valid
6.0ms18×body2048valid
3.0ms12×body1024valid
1.0msbody512valid
Compiler

Compiled 130 to 106 computations (18.5% saved)

simplify20.0ms (0.3%)

Algorithm
egg-herbie
Rules
26×*-commutative
sub-neg
+-commutative
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059358
176358
281358
383358
484358
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re 1300000000000000033722529141787424302322046903498309632) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -350000000000000020971520) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 822752278660603/822752278660603021077484591278675252491367932816789931674304512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(if (<=.f64 re -560000000000000033554432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1237419427105547/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -580000000000000025165824) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 822752278660603/1645504557321206042154969182557350504982735865633579863348609024) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re 6252917317820583/6582018229284824168619876730229402019930943462534319453394436096) (*.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 re 1300000000000000033722529141787424302322046903498309632) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -350000000000000020971520) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 822752278660603/822752278660603021077484591278675252491367932816789931674304512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(if (<=.f64 re -350000000000000020971520) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 822752278660603/822752278660603021077484591278675252491367932816789931674304512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(if (<=.f64 re -560000000000000033554432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 1237419427105547/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -580000000000000025165824) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 822752278660603/1645504557321206042154969182557350504982735865633579863348609024) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re 6252917317820583/6582018229284824168619876730229402019930943462534319453394436096) (*.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 144 to 113 computations (21.5% saved)

soundness300.0ms (4.1%)

Algorithm
egg-herbie
Rules
1650×distribute-lft-in
1278×fma-def
1206×times-frac
924×associate-*r*
842×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
12329
23629
35529
47729
510829
619429
730229
841329
950629
1060529
1167929
1271029
1376229
1481229
1587329
1693329
1794329
01529
12329
23629
35529
47729
510829
619429
730229
841329
950629
1060529
1167929
1271029
1376229
1481229
1587329
1693329
1794329
01751942
15081834
218791820
370201820
05237642
114697494
258527494
Stop Event
node limit
node limit
saturated
saturated
Compiler

Compiled 288 to 153 computations (46.9% saved)

end67.0ms (0.9%)

Compiler

Compiled 134 to 96 computations (28.4% saved)

Profiling

Loading profile data...