Details

Time bar (total: 6.9s)

analyze234.0ms (3.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
33.3%25%49.9%0.1%0%25%0%7
33.3%25%49.9%0.1%0%25%0%8
33.3%25%49.9%0.1%0%25%0%9
60%37.4%25%0.1%0%37.4%0%10
60%37.4%25%0.1%0%37.4%0%11
60%37.4%25%0.1%0%37.4%0%12
Compiler

Compiled 32 to 21 computations (34.4% saved)

sample2.4s (34.7%)

Results
1.9s8256×body256valid
413.0ms2057×body256invalid
Bogosity

preprocess75.0ms (1.1%)

Algorithm
egg-herbie
Rules
801×cube-prod_binary64
752×fma-neg_binary64
678×unswap-sqr_binary64
403×fma-def_binary64
341×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05080
113776
222748
332936
440736
599336
6243536
7350136
8410636
9421336
10441536
11493036
12681136
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (-.f64 (*.f64 (atan2.f64 re im) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (-.f64 (*.f64 (atan2.f64 im base) (log.f64 re)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 base base) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 re) (log.f64 re)) (*.f64 0 0)))
(/.f64 (-.f64 (*.f64 (atan2.f64 base re) (log.f64 im)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 base base)))) 0)) (+.f64 (*.f64 (log.f64 im) (log.f64 im)) (*.f64 0 0)))
Outputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (log.f64 base) (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (-.f64 (*.f64 (atan2.f64 re im) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (atan2.f64 re im) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (log.f64 base)) (/.f64 (atan2.f64 re im) (log.f64 base)))
(*.f64 1 (/.f64 (atan2.f64 re im) (log.f64 base)))
(/.f64 (atan2.f64 re im) (log.f64 base))
(/.f64 (-.f64 (*.f64 (atan2.f64 im base) (log.f64 re)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 base base) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 re) (log.f64 re)) (*.f64 0 0)))
(/.f64 (fma.f64 (atan2.f64 im base) (log.f64 re) 0) (*.f64 (log.f64 re) (log.f64 re)))
(/.f64 (atan2.f64 im base) (/.f64 (*.f64 (log.f64 re) (log.f64 re)) (log.f64 re)))
(/.f64 (atan2.f64 im base) (/.f64 (log.f64 re) 1))
(/.f64 (atan2.f64 im base) (log.f64 re))
(/.f64 (-.f64 (*.f64 (atan2.f64 base re) (log.f64 im)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 base base)))) 0)) (+.f64 (*.f64 (log.f64 im) (log.f64 im)) (*.f64 0 0)))
(/.f64 (fma.f64 (atan2.f64 base re) (log.f64 im) 0) (*.f64 (log.f64 im) (log.f64 im)))
(/.f64 (atan2.f64 base re) (/.f64 (*.f64 (log.f64 im) (log.f64 im)) (log.f64 im)))
(/.f64 (atan2.f64 base re) (/.f64 (log.f64 im) 1))
(/.f64 (atan2.f64 base re) (log.f64 im))
Compiler

Compiled 34 to 23 computations (32.4% saved)

simplify56.0ms (0.8%)

Algorithm
egg-herbie
Rules
877×fma-def_binary64
692×fma-neg_binary64
640×cube-prod_binary64
454×associate-/l*_binary64
447×sqr-pow_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01920
14119
26812
3949
41159
52739
610679
724959
835459
953049
1059099
1169949
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
Outputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))

eval1.0ms (0%)

Compiler

Compiled 70 to 28 computations (60% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New325
Fresh101
Picked000
Done000
Total426
Error
0.2b
Counts
6 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
Compiler

Compiled 25 to 15 computations (40% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
Compiler

Compiled 17 to 6 computations (64.7% saved)

series67.0ms (1%)

Counts
1 → 8
Calls

9 calls:

TimeVariablePointExpression
22.0ms
im
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
15.0ms
base
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
11.0ms
base
@inf
(/.f64 (atan2.f64 im re) (log.f64 base))
11.0ms
base
@-inf
(/.f64 (atan2.f64 im re) (log.f64 base))
6.0ms
re
@0
(/.f64 (atan2.f64 im re) (log.f64 base))

rewrite43.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
702×pow1_binary64
643×add-log-exp_binary64
643×log1p-expm1-u_binary64
643×expm1-log1p-u_binary64
628×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11399
217349
Stop Event
node limit
Counts
1 → 31
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))

simplify38.0ms (0.6%)

Algorithm
egg-herbie
Rules
788×log-prod_binary64
470×associate-*l*_binary64
416×associate-*r*_binary64
357×fma-def_binary64
356×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
093566
1217424
2674424
34627424
Stop Event
node limit
Counts
39 → 41
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize16.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
0.4b
(fma.f64 (atan2.f64 im re) (log.f64 base) 0)
0.5b
(*.f64 (log.f64 base) (log.f64 base))
Compiler

Compiled 37 to 12 computations (67.6% saved)

series11.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
1.0ms
im
@0
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
1.0ms
base
@-inf
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
1.0ms
base
@inf
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
1.0ms
base
@-inf
(*.f64 (log.f64 base) (log.f64 base))
1.0ms
base
@0
(*.f64 (log.f64 base) (log.f64 base))

rewrite59.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
927×pow1_binary64
853×add-log-exp_binary64
852×log1p-expm1-u_binary64
852×expm1-log1p-u_binary64
831×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01034
119732
2243632
Stop Event
node limit
Counts
3 → 71
Calls
Call 1
Inputs
(*.f64 (log.f64 base) (log.f64 base))
(fma.f64 (atan2.f64 im re) (log.f64 base) 0)
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (log.f64 base) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 base) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 base) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 base (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (log.f64 base) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 0) (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (-.f64 0 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 0) (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (pow.f64 (log.f64 base) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))))

simplify69.0ms (1%)

Algorithm
egg-herbie
Rules
546×fma-neg_binary64
342×log-prod_binary64
309×*-commutative_binary64
281×log-div_binary64
228×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01711541
14321501
220311492
374691492
Stop Event
node limit
Counts
155 → 91
Calls
Call 1
Inputs
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (+.f64 1 (pow.f64 (log.f64 base) 2)) 1)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 2) 1)
(pow.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 3)
(sqrt.f64 (pow.f64 (log.f64 base) 4))
(log.f64 (pow.f64 base (log.f64 base)))
(cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) 2)))
(+.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(-.f64 (+.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)
(*.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (*.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(*.f64 (*.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 0) (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (-.f64 0 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0))))
(/.f64 (-.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 0) (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)
(pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(log.f64 (exp.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(-.f64 (+.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(*.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(pow.f64 (pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 3)
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 2)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) 2))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (pow.f64 (log.f64 base) 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(exp.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
Outputs
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (+.f64 1 (pow.f64 (log.f64 base) 2)) 1)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 2) 1)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3) 1/3)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 3)
(pow.f64 (log.f64 base) 2)
(sqrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (log.f64 base) 2)
(log.f64 (pow.f64 base (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3))
(pow.f64 (log.f64 base) 2)
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (log.f64 base) 2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (log.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (log.f64 base) 2)
(+.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(*.f64 (log.f64 base) (atan2.f64 im re))
(-.f64 (+.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 0) (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (-.f64 0 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (-.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 0) (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0))
(*.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)
(*.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(*.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3)
(*.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)
(*.f64 (log.f64 base) (atan2.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 (exp.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
(*.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(-.f64 (+.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(*.f64 (cbrt.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))
(sqrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 2))
(fabs.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (pow.f64 (log.f64 base) 2) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(/.f64 (atan2.f64 im re) (log.f64 base))

eval29.0ms (0.4%)

Compiler

Compiled 1988 to 704 computations (64.6% saved)

prune48.0ms (0.7%)

Pruning

24 alts after pruning (23 fresh and 1 done)

PrunedKeptTotal
New10923132
Fresh000
Picked101
Done011
Total11024134
Error
0.0b
Counts
134 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
34.4b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
0.8b
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
0.6b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
31.1b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.7b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3)))
29.6b
(/.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base))))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
29.5b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
0.5b
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 base) (log.f64 base)))
29.6b
(/.f64 (*.f64 (*.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base))) (*.f64 (log.f64 base) (log.f64 base)))
1.3b
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
5.7b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (*.f64 (log.f64 base) (log.f64 base)))
13.8b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
0.5b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.5b
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (/.f64 1 (log.f64 base)))
1.3b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
31.1b
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
0.5b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
32.5b
(sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))
31.7b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
6.0b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
6.0b
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
Compiler

Compiled 713 to 470 computations (34.1% saved)

localize12.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.3b
(/.f64 1 (log.f64 base))
Compiler

Compiled 24 to 11 computations (54.2% saved)

series4.0ms (0.1%)

Counts
2 → 44
Calls

12 calls:

TimeVariablePointExpression
1.0ms
base
@-inf
(/.f64 1 (log.f64 base))
1.0ms
base
@inf
(/.f64 1 (log.f64 base))
1.0ms
base
@0
(/.f64 1 (log.f64 base))
0.0ms
im
@inf
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.0ms
base
@-inf
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))

rewrite54.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
117515
2203115
Stop Event
node limit
Counts
2 → 44
Calls
Call 1
Inputs
(/.f64 1 (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (pow.f64 (cbrt.f64 (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 base) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (log.f64 base))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 im re) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) (pow.f64 (atan2.f64 im re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))

simplify46.0ms (0.7%)

Algorithm
egg-herbie
Rules
597×log-prod_binary64
559×associate-*l*_binary64
495×associate-*r*_binary64
392×fma-def_binary64
388×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0115856
1251790
2771790
35414790
Stop Event
node limit
Counts
88 → 56
Calls
Call 1
Inputs
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(*.f64 1 (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (pow.f64 (cbrt.f64 (log.f64 base)) -1))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))
(pow.f64 (log.f64 base) -1)
(pow.f64 (/.f64 1 (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2)
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 1 (/.f64 1 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 (*.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (pow.f64 (cbrt.f64 (log.f64 base)) -1))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(pow.f64 (log.f64 base) -1)
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(pow.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2)
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
4.8b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
Compiler

Compiled 36 to 13 computations (63.9% saved)

series5.0ms (0.1%)

Counts
2 → 44
Calls

18 calls:

TimeVariablePointExpression
0.0ms
base
@-inf
(+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
0.0ms
im
@0
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
0.0ms
base
@inf
(+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
0.0ms
im
@0
(+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
0.0ms
base
@0
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
450×log-prod_binary64
443×prod-diff_binary64
376×fma-def_binary64
257×pow2_binary64
252×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01027
121521
2296521
Stop Event
node limit
Counts
2 → 169
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 im re) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (-.f64 1 (*.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 2) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) (neg.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) (neg.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 1) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 2) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) 1)))))

simplify77.0ms (1.1%)

Algorithm
egg-herbie
Rules
811×fma-neg_binary64
567×unswap-sqr_binary64
256×distribute-rgt-neg-in_binary64
232×distribute-lft-neg-in_binary64
187×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03293606
17323366
224823366
Stop Event
node limit
Counts
213 → 203
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))
(+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(+.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 -1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))
(/.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (-.f64 1 (*.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1))))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) -1)
(pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) -1)
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(hypot.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(expm1.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(fma.f64 1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 0)
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 0)
(fma.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1 -1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 0)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(fma.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) -1)
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(fma.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)
(fma.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) -1)
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 0)
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) 0)
(fma.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)) -1)
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 0)
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 0)
(fma.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 2) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 0)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 0)
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 0)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 0)
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) 0)
(fma.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1)
(-.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1)
(-.f64 (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1))
(*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1))
(*.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))
(*.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 1 (/.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))
(/.f64 1 (/.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) (neg.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) (neg.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 1) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(pow.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/2)
(pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(pow.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)
(pow.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3)
(pow.f64 (/.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) -1)
(pow.f64 (/.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) -1)
(sqrt.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(log.f64 (exp.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(cbrt.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(expm1.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(log1p.f64 (expm1.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 1)
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 1)
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 1)
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 1)
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) 1)
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 1)
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 1)
(fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1 -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 2) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) -1)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) -1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 1)
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 1)
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) 1)
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 1 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(+.f64 1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 -1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 (+.f64 1 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))) (expm1.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/2)))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))
(/.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (-.f64 1 (*.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) -1)
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))
(pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) -1)
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(hypot.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (log.f64 base)))))
(hypot.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (-.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2) (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1 -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) 0)
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))
(fma.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)) -1)
(+.f64 (/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)) -1)
(+.f64 -1 (/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 0)
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(fma.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)
(+.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) -1)
(+.f64 -1 (/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 -1 (/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 2) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 0)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 0)
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) 0)
(*.f64 (+.f64 1 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))) (expm1.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/2)))
(fma.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 1 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(*.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (/.f64 1 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 1 (/.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 1 (/.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) (neg.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) (neg.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 1) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/2)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (/.f64 (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) -1)
(/.f64 (+.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1))
(pow.f64 (/.f64 (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) -1)
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (-.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(sqrt.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(log.f64 (exp.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(cbrt.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(expm1.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(log1p.f64 (expm1.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) 1)
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))) 1)
(+.f64 1 (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(+.f64 1 (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 1 (*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))))
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 1)
(+.f64 1 (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1 -1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) 2) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) -1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) -1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) 1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 1)
(+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) 1)
(fma.f64 (+.f64 1 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))) (expm1.f64 (*.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/2)) 1)

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.3b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
3.6b
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
Compiler

Compiled 34 to 10 computations (70.6% saved)

series10.0ms (0.2%)

Counts
2 → 44
Calls

18 calls:

TimeVariablePointExpression
2.0ms
base
@0
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.0ms
base
@inf
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.0ms
re
@inf
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.0ms
base
@-inf
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.0ms
im
@0
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
858×pow1_binary64
791×add-log-exp_binary64
791×log1p-expm1-u_binary64
791×expm1-log1p-u_binary64
772×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (0.9%)

Algorithm
egg-herbie
Rules
607×fma-def_binary64
522×associate-/l*_binary64
463×fma-neg_binary64
439×unswap-sqr_binary64
320×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01771576
13641471
212901425
372081425
Stop Event
node limit
Counts
115 → 96
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (+.f64 1 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (/.f64 1 (log.f64 base)) 1/2))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (sqrt.f64 (log.f64 base))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/2))
(/.f64 1 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 1 (/.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (neg.f64 (atan2.f64 im re))) (sqrt.f64 (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (sqrt.f64 (atan2.f64 im re))) (neg.f64 (sqrt.f64 (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/2)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) 2)
(fabs.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (log.f64 base)))
(/.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (log.f64 base)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (log.f64 base)))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (+.f64 1 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 1 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (/.f64 1 (log.f64 base)) 1/2))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (sqrt.f64 (log.f64 base))))
(/.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) 1) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (fabs.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 1 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 1 (/.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) 1) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base)))
(/.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) 1) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (neg.f64 (atan2.f64 im re))) (sqrt.f64 (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (sqrt.f64 (atan2.f64 im re))) (neg.f64 (sqrt.f64 (log.f64 base))))
(/.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) 1) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(fabs.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 4))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/4))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 1 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 1 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 4))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (log.f64 base)))
(/.f64 (*.f64 1 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (log.f64 base)))
(/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2)))
0.3b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
0.4b
(*.f64 (log.f64 base) (atan2.f64 im re))
0.5b
(pow.f64 (log.f64 base) 2)
Compiler

Compiled 57 to 25 computations (56.1% saved)

series9.0ms (0.1%)

Counts
4 → 64
Calls

24 calls:

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

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
596×log-prod_binary64
335×pow-prod-down_binary64
317×pow-unpow_binary64
284×pow2_binary64
201×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01447
128741
2360233
Stop Event
node limit
Counts
4 → 136
Calls
Call 1
Inputs
(pow.f64 (log.f64 base) 2)
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (log.f64 base))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))) (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (pow.f64 (cbrt.f64 (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (log.f64 base)) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 base) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (log.f64 base) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (log.f64 base) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (pow.f64 (cbrt.f64 (log.f64 base)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (log.f64 base) 6)) (+.f64 0 (+.f64 (pow.f64 (log.f64 base) 4) (*.f64 0 (pow.f64 (log.f64 base) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (log.f64 base) 4)) (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 base) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 base (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 base) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (log.f64 base)))) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 base (atan2.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 base (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (+.f64 0 (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (*.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 base (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 base (atan2.f64 im re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (pow.f64 (log.f64 base) 2)) (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 base) (/.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 (pow.f64 (log.f64 base) 2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1) (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) -1) (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (pow.f64 (log.f64 base) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) -4)) (pow.f64 (cbrt.f64 (log.f64 base)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 base) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) 6) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) 4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) -4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (log.f64 base)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 base) -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 2))))))

simplify77.0ms (1.1%)

Algorithm
egg-herbie
Rules
619×unswap-sqr_binary64
592×fma-def_binary64
403×distribute-rgt-in_binary64
382×distribute-lft-in_binary64
205×div-sub_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03102168
16931903
224731884
Stop Event
node limit
Counts
200 → 174
Calls
Call 1
Inputs
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(+.f64 0 (pow.f64 (log.f64 base) 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (log.f64 base))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (log.f64 base)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))) (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))))
(-.f64 0 (pow.f64 (log.f64 base) 2))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) 2))) 1)
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 (log.f64 base) (neg.f64 (log.f64 base)))
(*.f64 1 (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (log.f64 base) 2) 1)
(*.f64 (pow.f64 (log.f64 base) 2) -1)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 -1 (pow.f64 (log.f64 base) 2))
(*.f64 (neg.f64 (log.f64 base)) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(*.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (log.f64 base) (/.f64 1 (log.f64 base)))
(/.f64 1 (pow.f64 (log.f64 base) -2))
(/.f64 (pow.f64 (log.f64 base) 2) 1)
(/.f64 (pow.f64 (log.f64 base) 2) -1)
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(/.f64 -1 (pow.f64 (log.f64 base) -2))
(/.f64 (-.f64 0 (pow.f64 (log.f64 base) 6)) (+.f64 0 (+.f64 (pow.f64 (log.f64 base) 4) (*.f64 0 (pow.f64 (log.f64 base) 2)))))
(/.f64 (-.f64 0 (pow.f64 (log.f64 base) 4)) (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(sqrt.f64 (pow.f64 (log.f64 base) 4))
(log.f64 (pow.f64 base (log.f64 base)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2)))))
(cbrt.f64 (pow.f64 (log.f64 base) 6))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))
(exp.f64 (*.f64 2 (log.f64 (log.f64 base))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) 6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (log.f64 base)))) 3))
(+.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (atan2.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (atan2.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 base (atan2.f64 im re)))))
(-.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1)
(/.f64 (-.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (+.f64 0 (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (*.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re))))))
(/.f64 (-.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)
(pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)
(neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(log.f64 (pow.f64 base (atan2.f64 im re)))
(log.f64 (+.f64 1 (-.f64 (pow.f64 base (atan2.f64 im re)) 1)))
(log.f64 (/.f64 1 (+.f64 1 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))))
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(log1p.f64 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))
(exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(+.f64 0 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))
(-.f64 0 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 1)
(-.f64 (/.f64 0 (pow.f64 (log.f64 base) 2)) (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(/.f64 (log.f64 base) (/.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (atan2.f64 im re))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 (pow.f64 (log.f64 base) 2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 -1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (neg.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1) (pow.f64 (log.f64 base) 2))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) -1) (pow.f64 (log.f64 base) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 1)
(pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 3)
(pow.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 2)
(pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)) 1/3)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(sqrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 2))
(log.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))))
(cbrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(expm1.f64 (log1p.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(log1p.f64 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(exp.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 2))
(+.f64 0 (pow.f64 (log.f64 base) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) -2))) 1)
(*.f64 1 (pow.f64 (log.f64 base) -2))
(*.f64 (pow.f64 (log.f64 base) -2) 1)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (pow.f64 (log.f64 base) -4)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -4)) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 base)))
(*.f64 -1 (pow.f64 (log.f64 base) -2))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (log.f64 base) 2) -1)
(pow.f64 (pow.f64 (log.f64 base) -2) 1)
(pow.f64 (pow.f64 (log.f64 base) 6) -1/3)
(pow.f64 (pow.f64 (log.f64 base) 4) -1/2)
(pow.f64 (pow.f64 (log.f64 base) -4) 1/2)
(pow.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -3)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 3)
(pow.f64 (/.f64 1 (log.f64 base)) 2)
(sqrt.f64 (pow.f64 (log.f64 base) -4))
(log.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) -2))))
(cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -2)))
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -2)))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) -2)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) -1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -2)) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) 3))
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 2))
Outputs
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2))
(/.f64 -1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2))
(+.f64 0 (pow.f64 (log.f64 base) 2))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (log.f64 base))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (log.f64 base)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 base (log.f64 base)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))) (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(-.f64 0 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) 2))) 1)
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(*.f64 (log.f64 base) (neg.f64 (log.f64 base)))
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (log.f64 base) 2) 1)
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (log.f64 base) 2) -1)
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 (neg.f64 (log.f64 base)) (log.f64 base))
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(*.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(/.f64 (log.f64 base) (/.f64 1 (log.f64 base)))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(/.f64 1 (pow.f64 (log.f64 base) -2))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(/.f64 (pow.f64 (log.f64 base) 2) 1)
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(/.f64 (pow.f64 (log.f64 base) 2) -1)
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(/.f64 -1 (pow.f64 (log.f64 base) -2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(/.f64 (-.f64 0 (pow.f64 (log.f64 base) 6)) (+.f64 0 (+.f64 (pow.f64 (log.f64 base) 4) (*.f64 0 (pow.f64 (log.f64 base) 2)))))
(/.f64 (neg.f64 (pow.f64 (log.f64 base) 6)) (+.f64 0 (pow.f64 (log.f64 base) 4)))
(/.f64 (neg.f64 (pow.f64 (log.f64 base) 6)) (pow.f64 (log.f64 base) 4))
(/.f64 (-.f64 0 (pow.f64 (log.f64 base) 4)) (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) 2))
(sqrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(log.f64 (pow.f64 base (log.f64 base)))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2)))))
(neg.f64 (pow.f64 (log.f64 base) 2))
(cbrt.f64 (pow.f64 (log.f64 base) 6))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 2 (log.f64 (log.f64 base))))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) 6)) 1/3))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (log.f64 base)))) 3))
(pow.f64 (neg.f64 (log.f64 base)) 2)
(pow.f64 (log.f64 base) 2)
(+.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (atan2.f64 im re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 base (atan2.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (atan2.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 base (atan2.f64 im re)))))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1)
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (-.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (+.f64 0 (+.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (*.f64 0 (*.f64 (log.f64 base) (atan2.f64 im re))))))
(*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))
(/.f64 (-.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/2)
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3)
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (pow.f64 base (atan2.f64 im re)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (-.f64 (pow.f64 base (atan2.f64 im re)) 1)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (/.f64 1 (+.f64 1 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))))
(*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1/3))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 3))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 0 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (/.f64 0 (pow.f64 (log.f64 base) 2)) (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (log.f64 base) (/.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (atan2.f64 im re))))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 (pow.f64 (log.f64 base) 2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 -1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (neg.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1) (pow.f64 (log.f64 base) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) -1) (pow.f64 (log.f64 base) 2))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 3) (pow.f64 (log.f64 base) 6)))
(cbrt.f64 (*.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))))
(neg.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(cbrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 3) (pow.f64 (log.f64 base) 6)))
(cbrt.f64 (*.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (pow.f64 (log.f64 base) -2))
(pow.f64 (log.f64 base) -2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) -2))) 1)
(pow.f64 (log.f64 base) -2)
(*.f64 1 (pow.f64 (log.f64 base) -2))
(pow.f64 (log.f64 base) -2)
(*.f64 (pow.f64 (log.f64 base) -2) 1)
(pow.f64 (log.f64 base) -2)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (pow.f64 (log.f64 base) -4)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -4)) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (pow.f64 (log.f64 base) -4)))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -2)
(*.f64 -1 (pow.f64 (log.f64 base) -2))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (log.f64 base) 2) -1)
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (log.f64 base) -2) 1)
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (log.f64 base) 6) -1/3)
(*.f64 (pow.f64 (pow.f64 (log.f64 base) 6) -1/6) (pow.f64 (pow.f64 (log.f64 base) 6) -1/6))
(pow.f64 (pow.f64 (log.f64 base) 4) -1/2)
(pow.f64 (pow.f64 (log.f64 base) -4) 1/2)
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3) 1/3)
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -3)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 3)
(pow.f64 (log.f64 base) -2)
(pow.f64 (/.f64 1 (log.f64 base)) 2)
(pow.f64 (log.f64 base) -2)
(sqrt.f64 (pow.f64 (log.f64 base) -4))
(pow.f64 (log.f64 base) -2)
(log.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))
(pow.f64 (log.f64 base) -2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) -2))))
(pow.f64 (log.f64 base) -2)
(cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3))
(pow.f64 (log.f64 base) -2)
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -2)))
(pow.f64 (log.f64 base) -2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -2)))
(pow.f64 (log.f64 base) -2)
(exp.f64 (log.f64 (pow.f64 (log.f64 base) -2)))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) -1))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -2)) 1))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3)) 1/3))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) 3))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 2))
(pow.f64 (log.f64 base) -2)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (log.f64 base) (atan2.f64 im re))
0.5b
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)
0.9b
(pow.f64 (log.f64 base) 4)
3.9b
(sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))
Compiler

Compiled 58 to 23 computations (60.3% saved)

series10.0ms (0.1%)

Counts
3 → 80
Calls

21 calls:

TimeVariablePointExpression
1.0ms
base
@inf
(pow.f64 (log.f64 base) 4)
1.0ms
base
@-inf
(pow.f64 (log.f64 base) 4)
1.0ms
base
@0
(pow.f64 (log.f64 base) 4)
1.0ms
base
@-inf
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)
1.0ms
re
@inf
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
589×log-prod_binary64
363×pow-prod-down_binary64
312×pow2_binary64
223×pow-unpow_binary64
217×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01340
126935
2311735
Stop Event
node limit
Counts
3 → 95
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))
(pow.f64 (log.f64 base) 4)
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) (sqrt.f64 (neg.f64 (pow.f64 (log.f64 base) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1 (/.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (log.f64 base) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (log.f64 base) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (log.f64 base) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (cbrt.f64 (pow.f64 (log.f64 base) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 8) (pow.f64 (cbrt.f64 (log.f64 base)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 base) 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 base) 12))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 4 (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) 12)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 2) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 4) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (atan2.f64 im re)) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 5) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1) 1))))))

simplify70.0ms (1%)

Algorithm
egg-herbie
Rules
389×log-prod_binary64
339×fabs-mul_binary64
304×sqr-pow_binary64
292×exp-prod_binary64
201×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02531973
15421854
213911854
345241854
Stop Event
node limit
Counts
175 → 112
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(+.f64 0 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 1)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(*.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
(/.f64 1 (sqrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (sqrt.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) (sqrt.f64 (neg.f64 (pow.f64 (log.f64 base) 4))))
(/.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (*.f64 1 (/.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (log.f64 base) 2))) 1/2)
(pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -2) 1/4)
(pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3) 1/6)
(pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 3/2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 3)
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 2)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -1/2)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))) -1)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(fabs.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(log.f64 (+.f64 1 (-.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)))
(cbrt.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(log1p.f64 (-.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1))
(exp.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base))) 2))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1) 1))
(+.f64 0 (pow.f64 (log.f64 base) 4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) 4))) 1)
(*.f64 (pow.f64 (log.f64 base) 4) 1)
(*.f64 1 (pow.f64 (log.f64 base) 4))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (cbrt.f64 (pow.f64 (log.f64 base) 8)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 8) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(sqrt.f64 (pow.f64 (log.f64 base) 8))
(log.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 4))))
(cbrt.f64 (pow.f64 (log.f64 base) 12))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 4)))
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 4)))
(exp.f64 (*.f64 4 (log.f64 (log.f64 base))))
(exp.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) 12)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) 3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 4))
(exp.f64 (*.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 2) 2))
(+.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) 1)
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1)
(*.f64 1 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(*.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 4) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 4))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (atan2.f64 im re))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (atan2.f64 im re)) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 5) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 4))
(log.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(exp.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1) 1))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(pow.f64 (log.f64 (/.f64 1 base)) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(+.f64 0 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) (cbrt.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))))
(/.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (log.f64 base) -2)))) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) (cbrt.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))))
(/.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (log.f64 base) -2)))) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (sqrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (sqrt.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) (sqrt.f64 (neg.f64 (pow.f64 (log.f64 base) 4))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (*.f64 1 (/.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (log.f64 base) 2))) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -2) 1/4)
(pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3) 1/6)
(pow.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 3/2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fabs.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (-.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (-.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1/2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)) -3/2)) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1) 1/2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2)))) 1/2) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (pow.f64 (log.f64 base) 4))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) 4))) 1)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(*.f64 (pow.f64 (log.f64 base) 4) 1)
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(*.f64 1 (pow.f64 (log.f64 base) 4))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (cbrt.f64 (pow.f64 (log.f64 base) 8)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (cbrt.f64 (pow.f64 (log.f64 base) 8)))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (log.f64 base) 2))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 8) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(sqrt.f64 (pow.f64 (log.f64 base) 8))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(log.f64 (exp.f64 (pow.f64 (log.f64 base) 4)))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 4))))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(cbrt.f64 (pow.f64 (log.f64 base) 12))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 4)))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 4)))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 4 (log.f64 (log.f64 base))))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) 12)) 1/3))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) 3))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 2))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 4))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1) 1))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 2) 2))
(pow.f64 (neg.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 4)
(+.f64 0 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))) 1)
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (atan2.f64 im re))))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (*.f64 (log.f64 base) (atan2.f64 im re))))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1)
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 1 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (log.f64 base) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 4) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 4))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2))
(*.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 3/2))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 (atan2.f64 im re) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 3/2))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (atan2.f64 im re))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (atan2.f64 im re)) (log.f64 base))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 5) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 4))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(log.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(exp.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6)) 1/3))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))) 3))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) 2))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) 1) 1))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) 2)

eval181.0ms (2.6%)

Compiler

Compiled 12158 to 5239 computations (56.9% saved)

prune160.0ms (2.3%)

Pruning

23 alts after pruning (20 fresh and 3 done)

PrunedKeptTotal
New74313756
Fresh11718
Picked101
Done235
Total75723780
Error
0b
Counts
780 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
34.4b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
31.1b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
33.1b
(pow.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2)) 2)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
1.2b
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
29.5b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
0.3b
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))
0.5b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
1.3b
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
0.8b
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
0.6b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
13.8b
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
0.5b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
30.0b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
29.5b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) -1/2) 2))
1.3b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
5.4b
(*.f64 (atan2.f64 im re) (log.f64 (exp.f64 (/.f64 1 (log.f64 base)))))
29.8b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
31.7b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
6.0b
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
Compiler

Compiled 590 to 421 computations (28.6% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))
0.4b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base))
0.4b
(*.f64 (log.f64 base) (atan2.f64 im re))
Compiler

Compiled 38 to 8 computations (78.9% saved)

series5.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite53.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
548×log-prod_binary64
418×exp-prod_binary64
314×pow-prod-down_binary64
252×pow2_binary64
183×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0933
118631
2259013
Stop Event
node limit
Counts
2 → 115
Calls
Call 1
Inputs
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 im re)))) (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (atan2.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))) (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (*.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 base) 1) (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan2.f64 im re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 im re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (atan2.f64 im re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (atan2.f64 im re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (atan2.f64 im re)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (atan2.f64 im re))) 2)) (cbrt.f64 (log.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (atan2.f64 im re)))) (sqrt.f64 (log.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (atan2.f64 im re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x atan2.f64 im re)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (atan2.f64 im re))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (atan2.f64 im re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (atan2.f64 im re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 (log.f64 (log.f64 base)) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1) (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 2 (log.f64 (log.f64 base)))))))))

simplify71.0ms (1%)

Algorithm
egg-herbie
Rules
963×fma-neg_binary64
307×log-prod_binary64
222×log-pow_binary64
186×exp-prod_binary64
165×cube-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02781729
16601620
225831610
370031610
Stop Event
node limit
Counts
187 → 146
Calls
Call 1
Inputs
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (atan2.f64 im re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 im re)))) (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 im re))) 1)
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (atan2.f64 im re) 1)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(*.f64 1 (atan2.f64 im re))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (cbrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (atan2.f64 im re)))
(*.f64 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (log.f64 base))))
(*.f64 (*.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (log.f64 base))))
(pow.f64 (atan2.f64 im re) 1)
(pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/2)
(pow.f64 (pow.f64 (atan2.f64 im re) 3) 1/3)
(pow.f64 (cbrt.f64 (atan2.f64 im re)) 3)
(pow.f64 (sqrt.f64 (atan2.f64 im re)) 2)
(pow.f64 (/.f64 1 (atan2.f64 im re)) -1)
(pow.f64 (exp.f64 1) (log.f64 (atan2.f64 im re)))
(pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 1 (atan2.f64 im re)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (atan2.f64 im re))) 2)) (cbrt.f64 (log.f64 (atan2.f64 im re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (atan2.f64 im re)))) (sqrt.f64 (log.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (atan2.f64 im re) 2))
(log.f64 (exp.f64 (atan2.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 im re))))
(cbrt.f64 (pow.f64 (atan2.f64 im re) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(log1p.f64 (expm1.f64 (atan2.f64 im re)))
(exp.f64 (log.f64 (atan2.f64 im re)))
(exp.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (atan2.f64 im re))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (atan2.f64 im re))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (atan2.f64 im re))) 2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (atan2.f64 im re))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (log.f64 (log.f64 base))))
(exp.f64 (-.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1) (pow.f64 (log.f64 base) -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -3/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2) 1/2)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(pow.f64 (exp.f64 1) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)) 1/3)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 2 (log.f64 (log.f64 base)))))
Outputs
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (atan2.f64 im re))
(atan2.f64 im re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re))))) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 im re)))) (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 im re)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 im re))) 1)
(atan2.f64 im re)
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (log.f64 base)))
(atan2.f64 im re)
(*.f64 (atan2.f64 im re) 1)
(atan2.f64 im re)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(atan2.f64 im re)
(*.f64 1 (atan2.f64 im re))
(atan2.f64 im re)
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2))
(atan2.f64 im re)
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(*.f64 (cbrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (log.f64 base))))
(atan2.f64 im re)
(*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(*.f64 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(atan2.f64 im re)
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (log.f64 base))))
(atan2.f64 im re)
(*.f64 (*.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))) (/.f64 1 (neg.f64 (log.f64 base))))
(atan2.f64 im re)
(*.f64 (/.f64 1 (log.f64 base)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(atan2.f64 im re)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (log.f64 base) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (*.f64 (/.f64 (log.f64 base) (cbrt.f64 (log.f64 base))) (atan2.f64 im re)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 (log.f64 base)) (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(atan2.f64 im re)
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (atan2.f64 im re) (log.f64 base)))
(atan2.f64 im re)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(atan2.f64 im re)
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(atan2.f64 im re)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) 2) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (log.f64 base)))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (*.f64 (/.f64 (log.f64 base) (cbrt.f64 (log.f64 base))) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (/.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 (log.f64 base)) (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(atan2.f64 im re)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (log.f64 base))))
(/.f64 (*.f64 (/.f64 (log.f64 base) (sqrt.f64 (log.f64 base))) (atan2.f64 im re)) (sqrt.f64 (log.f64 base)))
(pow.f64 (atan2.f64 im re) 1)
(atan2.f64 im re)
(pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/2)
(atan2.f64 im re)
(pow.f64 (pow.f64 (atan2.f64 im re) 3) 1/3)
(atan2.f64 im re)
(pow.f64 (cbrt.f64 (atan2.f64 im re)) 3)
(atan2.f64 im re)
(pow.f64 (sqrt.f64 (atan2.f64 im re)) 2)
(atan2.f64 im re)
(pow.f64 (/.f64 1 (atan2.f64 im re)) -1)
(atan2.f64 im re)
(pow.f64 (exp.f64 1) (log.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 3)) 1/3)
(atan2.f64 im re)
(pow.f64 (/.f64 (/.f64 1 (atan2.f64 im re)) 1) -1)
(atan2.f64 im re)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (atan2.f64 im re))) 2)) (cbrt.f64 (log.f64 (atan2.f64 im re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (atan2.f64 im re)))) (sqrt.f64 (log.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(atan2.f64 im re)
(sqrt.f64 (pow.f64 (atan2.f64 im re) 2))
(atan2.f64 im re)
(log.f64 (exp.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 im re))))
(atan2.f64 im re)
(cbrt.f64 (pow.f64 (atan2.f64 im re) 3))
(atan2.f64 im re)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 3)))
(atan2.f64 im re)
(expm1.f64 (log1p.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(atan2.f64 im re)
(log1p.f64 (expm1.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(exp.f64 (log.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(exp.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1))
(atan2.f64 im re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (atan2.f64 im re))) 1/3))
(atan2.f64 im re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (atan2.f64 im re))) 3))
(atan2.f64 im re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (atan2.f64 im re))) 2))
(atan2.f64 im re)
(exp.f64 (*.f64 (neg.f64 (log.f64 (atan2.f64 im re))) -1))
(atan2.f64 im re)
(exp.f64 (*.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) 1))
(atan2.f64 im re)
(exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(atan2.f64 im re)
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (log.f64 (log.f64 base))))
(atan2.f64 im re)
(exp.f64 (-.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) 1)))
(atan2.f64 im re)
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(atan2.f64 im re)
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1) (pow.f64 (log.f64 base) -2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base)))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base)))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -3/2))
(*.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -3/2))
(*.f64 (*.f64 (/.f64 (log.f64 base) (sqrt.f64 (log.f64 base))) (atan2.f64 im re)) (pow.f64 (log.f64 base) -3/2))
(*.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -1/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -3/2))
(*.f64 (*.f64 (/.f64 (log.f64 base) (sqrt.f64 (log.f64 base))) (atan2.f64 im re)) (pow.f64 (log.f64 base) -3/2))
(*.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (exp.f64 1) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 2 (log.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (log.f64 base) (atan2.f64 im re))
0.5b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
Compiler

Compiled 26 to 9 computations (65.4% saved)

series7.0ms (0.1%)

Counts
2 → 44
Calls

18 calls:

TimeVariablePointExpression
1.0ms
base
@inf
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
1.0ms
re
@-inf
(/.f64 (log.f64 base) (atan2.f64 im re))
1.0ms
base
@-inf
(/.f64 (log.f64 base) (atan2.f64 im re))
1.0ms
im
@inf
(/.f64 (log.f64 base) (atan2.f64 im re))
1.0ms
base
@0
(/.f64 (log.f64 base) (atan2.f64 im re))

rewrite47.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0921
118018
2221818
Stop Event
node limit
Counts
2 → 67
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (pow.f64 (/.f64 1 (atan2.f64 im re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (log.f64 base))) (neg.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (log.f64 base)) 1) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (/.f64 1 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (log.f64 base)) (/.f64 1 (neg.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (atan2.f64 im re))) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (sqrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))

simplify58.0ms (0.8%)

Algorithm
egg-herbie
Rules
949×log-div_binary64
679×fma-neg_binary64
446×unswap-sqr_binary64
443×associate-/l*_binary64
428×associate-/r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01701238
14171086
213881086
368021086
Stop Event
node limit
Counts
111 → 80
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (/.f64 1 (atan2.f64 im re)) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (neg.f64 (log.f64 base))) (neg.f64 (atan2.f64 im re)))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) 1) (atan2.f64 im re))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(-.f64 (+.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (log.f64 base) (/.f64 1 (atan2.f64 im re)))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(*.f64 (neg.f64 (log.f64 base)) (/.f64 1 (neg.f64 (atan2.f64 im re))))
(*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 1 (sqrt.f64 (atan2.f64 im re))) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (sqrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)
(neg.f64 (/.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3)))
(expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(log1p.f64 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (/.f64 1 (atan2.f64 im re)) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (neg.f64 (log.f64 base))) (neg.f64 (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) 1) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (+.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (/.f64 1 (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (neg.f64 (log.f64 base)) (/.f64 1 (neg.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (sqrt.f64 (atan2.f64 im re))) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (sqrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(neg.f64 (/.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(log1p.f64 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.7b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
4.3b
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
Compiler

Compiled 34 to 10 computations (70.6% saved)

series26.0ms (0.4%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
4.0ms
base
@0
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
3.0ms
im
@0
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
2.0ms
base
@-inf
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
2.0ms
base
@0
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
2.0ms
base
@inf
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
877×pow1_binary64
816×add-log-exp_binary64
816×log1p-expm1-u_binary64
816×expm1-log1p-u_binary64
796×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
120820
2225720
Stop Event
node limit
Counts
2 → 72
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (/.f64 1 (log.f64 base)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/3) (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 (atan2.f64 im re))) (cbrt.f64 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (atan2.f64 im re))) (neg.f64 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) 3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 im re) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))

simplify70.0ms (1%)

Algorithm
egg-herbie
Rules
731×fma-neg_binary64
565×unswap-sqr_binary64
515×associate-/l*_binary64
402×associate-/r*_binary64
248×associate-*l/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01791626
13881598
212481598
375321598
Stop Event
node limit
Counts
144 → 88
Calls
Call 1
Inputs
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (/.f64 1 (log.f64 base)) 1/3))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/3) (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/3))
(/.f64 1 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 1 (/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (neg.f64 (atan2.f64 im re))) (cbrt.f64 (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (cbrt.f64 (atan2.f64 im re))) (neg.f64 (cbrt.f64 (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) 3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 3))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (atan2.f64 im re)) (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (cbrt.f64 -1))
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(pow.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 1 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 (pow.f64 1 1/3) (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/3))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (/.f64 1 (log.f64 base)) 1/3))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/3) (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 1 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 1 (/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (neg.f64 (atan2.f64 im re))) (cbrt.f64 (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (cbrt.f64 (atan2.f64 im re))) (neg.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 2)
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) 3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 1) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/6))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize39.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.3b
(/.f64 1 (log.f64 base))
0.6b
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
0.7b
(pow.f64 (/.f64 1 (log.f64 base)) 3)
Compiler

Compiled 41 to 24 computations (41.5% saved)

series24.0ms (0.4%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
20.0ms
base
@-inf
(pow.f64 (/.f64 1 (log.f64 base)) 3)
1.0ms
base
@0
(pow.f64 (/.f64 1 (log.f64 base)) 3)
1.0ms
base
@inf
(pow.f64 (/.f64 1 (log.f64 base)) 3)
0.0ms
base
@0
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
0.0ms
re
@inf
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))

rewrite59.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
935×pow1_binary64
869×add-log-exp_binary64
868×log1p-expm1-u_binary64
868×expm1-log1p-u_binary64
847×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01227
124421
2251721
Stop Event
node limit
Counts
3 → 71
Calls
Call 1
Inputs
(pow.f64 (/.f64 1 (log.f64 base)) 3)
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (log.f64 base) -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (log.f64 base) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -2) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -3/2) (pow.f64 (log.f64 base) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 3) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 3) (pow.f64 (pow.f64 (log.f64 base) -1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (log.f64 base) -2) 1) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (log.f64 base) -2) (pow.f64 (log.f64 base) -1/2)) (pow.f64 (log.f64 base) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (log.f64 base) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (log.f64 base) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (log.f64 base) -2) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (pow.f64 (neg.f64 (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (pow.f64 (log.f64 base) -2)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (log.f64 base) -2) 1) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (log.f64 base) -2) -1) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (log.f64 base) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (log.f64 base) -3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (pow.f64 (log.f64 base) -2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (pow.f64 (cbrt.f64 (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 1/3) (/.f64 1 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (log.f64 base) -3/2) 1/3) (pow.f64 (pow.f64 (log.f64 base) -3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (neg.f64 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 base) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (log.f64 base))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 im re) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (atan2.f64 im re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))

simplify59.0ms (0.9%)

Algorithm
egg-herbie
Rules
601×unswap-sqr_binary64
397×fma-def_binary64
392×log-div_binary64
378×associate-/r*_binary64
326×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01621321
13561248
212531221
360691215
Stop Event
node limit
Counts
131 → 93
Calls
Call 1
Inputs
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (+.f64 1 (pow.f64 (log.f64 base) -3)) 1)
(*.f64 1 (pow.f64 (log.f64 base) -3))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (log.f64 base) -2))
(*.f64 (pow.f64 (log.f64 base) -3) 1)
(*.f64 (pow.f64 (log.f64 base) -2) (/.f64 1 (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -2)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -2)))
(*.f64 (pow.f64 (log.f64 base) -3/2) (pow.f64 (log.f64 base) -3/2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 3) (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 3) (pow.f64 (pow.f64 (log.f64 base) -1/2) 3))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -2) 1) (/.f64 1 (log.f64 base)))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -2) (pow.f64 (log.f64 base) -1/2)) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 3) 1))
(/.f64 (pow.f64 (log.f64 base) -2) (log.f64 base))
(/.f64 -1 (pow.f64 (neg.f64 (log.f64 base)) 3))
(/.f64 -1 (neg.f64 (pow.f64 (log.f64 base) 3)))
(/.f64 (*.f64 -1 (pow.f64 (log.f64 base) -2)) (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (pow.f64 (log.f64 base) -2) 1) (log.f64 base))
(/.f64 (*.f64 (pow.f64 (log.f64 base) -2) -1) (neg.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 6))
(log.f64 (exp.f64 (pow.f64 (log.f64 base) -3)))
(cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -3)))
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -3)))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) -3)))
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(*.f64 1 (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (pow.f64 (log.f64 base) -2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (pow.f64 (cbrt.f64 (log.f64 base)) -1))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 1/3) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -3/2) 1/3) (pow.f64 (pow.f64 (log.f64 base) -3/2) 1/3))
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) -1)
(pow.f64 (/.f64 1 (log.f64 base)) 1)
(pow.f64 (pow.f64 (log.f64 base) -3) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2)
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (atan2.f64 im re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) -3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 -1 (pow.f64 (log.f64 (/.f64 1 base)) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 1 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (+.f64 1 (pow.f64 (log.f64 base) -3)) 1)
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(*.f64 1 (pow.f64 (log.f64 base) -3))
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (log.f64 base) -2))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(*.f64 (pow.f64 (log.f64 base) -3) 1)
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(*.f64 (pow.f64 (log.f64 base) -2) (/.f64 1 (log.f64 base)))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (log.f64 base))))
(/.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 4) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -2)))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(*.f64 (pow.f64 (log.f64 base) -3/2) (pow.f64 (log.f64 base) -3/2))
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 3) (/.f64 1 (log.f64 base)))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 3) (pow.f64 (pow.f64 (log.f64 base) -1/2) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -2) 1) (/.f64 1 (log.f64 base)))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (log.f64 base))))
(/.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 4) (cbrt.f64 (log.f64 base)))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -2) (pow.f64 (log.f64 base) -1/2)) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 3) 1))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (log.f64 base) -2) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 -1 (pow.f64 (neg.f64 (log.f64 base)) 3))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 -1 (neg.f64 (pow.f64 (log.f64 base) 3)))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 (*.f64 -1 (pow.f64 (log.f64 base) -2)) (neg.f64 (log.f64 base)))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 (*.f64 (pow.f64 (log.f64 base) -2) 1) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(/.f64 (*.f64 (pow.f64 (log.f64 base) -2) -1) (neg.f64 (log.f64 base)))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(sqrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 6))
(/.f64 1 (pow.f64 (log.f64 base) 3))
(log.f64 (exp.f64 (pow.f64 (log.f64 base) -3)))
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -3) 3))
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -3)))
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -3)))
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(exp.f64 (log.f64 (pow.f64 (log.f64 base) -3)))
(+.f64 1 (-.f64 (pow.f64 (log.f64 base) -3) 1))
(+.f64 (pow.f64 (log.f64 base) -3) 0)
(pow.f64 (log.f64 base) -3)
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(/.f64 1 (log.f64 base))
(*.f64 1 (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (pow.f64 (log.f64 base) -2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (log.f64 base))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (pow.f64 (cbrt.f64 (log.f64 base)) -1))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))
(pow.f64 (sqrt.f64 (log.f64 base)) -2)
(*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 1/3) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -3/2) 1/3) (pow.f64 (pow.f64 (log.f64 base) -3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -3/2)) (cbrt.f64 (pow.f64 (log.f64 base) -3/2)))
(pow.f64 (pow.f64 (pow.f64 (log.f64 base) -3/2) 1/6) 4)
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(pow.f64 (log.f64 base) -1)
(/.f64 1 (log.f64 base))
(pow.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 1 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) -3) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) -3))
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)
(/.f64 1 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2)
(/.f64 1 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(/.f64 1 (log.f64 base))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (atan2.f64 im re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) -3)))
(cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (atan2.f64 im re) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
0.3b
(/.f64 1 (log.f64 base))
0.7b
(pow.f64 (/.f64 1 (log.f64 base)) 3)
0.8b
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
Compiler

Compiled 44 to 27 computations (38.6% saved)

series12.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
base
@0
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
1.0ms
base
@-inf
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
1.0ms
im
@0
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
1.0ms
base
@inf
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
1.0ms
re
@0
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))

rewrite85.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
484×log-prod_binary64
367×exp-prod_binary64
331×prod-exp_binary64
280×pow2_binary64
275×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01318
127415
2274815
Stop Event
node limit
Counts
2 → 79
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 1 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (neg.f64 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 base) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 base) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -6)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (log.f64 base)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (log.f64 (sqrt.f64 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (*.f64 -1/2 (log.f64 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (log.f64 base))) (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 im re) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) -1) (log.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (log.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) -1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (neg.f64 (log.f64 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))))))

simplify57.0ms (0.8%)

Algorithm
egg-herbie
Rules
619×log-prod_binary64
511×associate-*l*_binary64
473×associate-*r*_binary64
324×prod-exp_binary64
296×exp-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02091268
14301206
210441185
354571185
Stop Event
node limit
Counts
127 → 97
Calls
Call 1
Inputs
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(+.f64 0 (/.f64 1 (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 1)
(*.f64 1 (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (log.f64 base)))))
(cbrt.f64 (pow.f64 (log.f64 base) -3))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) 3/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -6)) 1/6))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (log.f64 base)))) 3))
(exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (log.f64 base))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) -1))
(exp.f64 (*.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) -1) 1))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) 2))
(exp.f64 (-.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (log.f64 (sqrt.f64 (log.f64 base)))))
(exp.f64 (neg.f64 (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (*.f64 -1/2 (log.f64 (log.f64 base)))))
(exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (log.f64 base))) (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6)))
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) -1) (log.f64 (atan2.f64 im re))))
(exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (log.f64 (atan2.f64 im re))))
(exp.f64 (+.f64 (neg.f64 (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) -1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (neg.f64 (log.f64 (log.f64 base)))))
(exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) -1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) -1)))
(exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
Outputs
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base)))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base)))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base)))
(/.f64 (cbrt.f64 -1) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base)))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(+.f64 0 (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 1)
(/.f64 1 (log.f64 base))
(*.f64 1 (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (log.f64 base))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (log.f64 base)) -3)
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(pow.f64 (cbrt.f64 (log.f64 base)) -3)
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(/.f64 1 (log.f64 base))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (log.f64 base)))))
(/.f64 1 (log.f64 base))
(cbrt.f64 (pow.f64 (log.f64 base) -3))
(/.f64 1 (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) -1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) 3/2))
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 3/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -6)) 1/6))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (log.f64 base)))) 3))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (log.f64 base)) -3)
(exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (log.f64 base))) 2))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) -1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1) 1/3))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) -1) 1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) 1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) 2))
(/.f64 1 (log.f64 base))
(exp.f64 (-.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (log.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (*.f64 -1/2 (log.f64 (log.f64 base)))))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (log.f64 base))) (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6)))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6) (*.f64 (*.f64 -3 (log.f64 (log.f64 base))) 1/6)))
(/.f64 1 (log.f64 base))
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) -1) (log.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (log.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (neg.f64 (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) -1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (neg.f64 (log.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) -1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) -1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))

eval151.0ms (2.2%)

Compiler

Compiled 9116 to 3754 computations (58.8% saved)

prune128.0ms (1.9%)

Pruning

12 alts after pruning (8 fresh and 4 done)

PrunedKeptTotal
New6655670
Fresh12315
Picked101
Done347
Total68112693
Error
0b
Counts
693 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
29.9b
(/.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) 2) (log.f64 base))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.5b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
1.3b
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
5.7b
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 3)) (log.f64 base))
0.6b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.7b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
11.0b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
13.8b
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) -3)))
Compiler

Compiled 263 to 191 computations (27.4% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
0.4b
(*.f64 (log.f64 base) (atan2.f64 im re))
0.5b
(pow.f64 (log.f64 base) 2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
base
@inf
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
0.0ms
base
@0
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
0.0ms
base
@-inf
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
0.0ms
im
@inf
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
0.0ms
im
@-inf
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
505×log-prod_binary64
392×exp-prod_binary64
318×prod-exp_binary64
289×pow-prod-down_binary64
257×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify66.0ms (1%)

Algorithm
egg-herbie
Rules
678×times-frac_binary64
598×log-div_binary64
444×associate-/l*_binary64
319×associate-*l/_binary64
318×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01871120
14551095
212851095
370511095
Stop Event
node limit
Counts
100 → 78
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 (log.f64 base) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(*.f64 (*.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) 1) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(*.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(pow.f64 (exp.f64 1) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)) 1/3)
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) 2))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 2 (log.f64 (log.f64 base)))))
(exp.f64 (-.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 -2 (log.f64 (log.f64 base)))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (log.f64 base))) (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (log.f64 base)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) 1) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (log.f64 base) (*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(/.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (log.f64 base)) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (atan2.f64 im re)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (log.f64 base) (*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (log.f64 base) (*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (exp.f64 1) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 2 (log.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1) (*.f64 -2 (log.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (log.f64 base))) (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
4.8b
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
Compiler

Compiled 37 to 14 computations (62.2% saved)

series5.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
im
@-inf
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
0.0ms
base
@-inf
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
0.0ms
im
@0
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
0.0ms
im
@0
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
0.0ms
base
@inf
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
467×log-prod_binary64
367×exp-prod_binary64
300×fma-def_binary64
274×pow2_binary64
254×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01124
123021
2301321
Stop Event
node limit
Counts
2 → 164
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 im re) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 0) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 0 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 0) (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) (neg.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) 1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 2)) (cbrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) (sqrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) -1)))))

simplify81.0ms (1.2%)

Algorithm
egg-herbie
Rules
920×fma-neg_binary64
577×unswap-sqr_binary64
269×div-sub_binary64
229×distribute-rgt-neg-in_binary64
226×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03284114
17473968
225803840
Stop Event
node limit
Counts
236 → 197
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(-.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))))
(/.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 0) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 0 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(/.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 0) (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))) -1)
(pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)) -1)
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3))
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 0)
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 0)
(fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1 1)
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(fma.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) 1)
(fma.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(fma.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 0)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1)
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 0)
(fma.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) 1)
(fma.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) 0)
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 0)
(fma.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) 1)
(fma.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) 0)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 0)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 0)
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 0)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 0)
(fma.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(*.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))
(*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))
(*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))
(*.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(*.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(*.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))
(/.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) (neg.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) 1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(pow.f64 (E.f64) (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(pow.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) 1/2)
(pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 3)
(pow.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 2)
(pow.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3) 1/3)
(pow.f64 (/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) -1)
(pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 2)) (cbrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) (sqrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(sqrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2))
(log.f64 (exp.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))
(expm1.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(expm1.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(log1p.f64 (expm1.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(exp.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(exp.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 3) 1/3))
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) -1)
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 -1)
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) -1)
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) -1)
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) -1)
(fma.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) -1)
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) -1)
(fma.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) -1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) -1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) -1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) -1)
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) -1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) -1)
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))) -1)
(+.f64 -1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))) -1)
(+.f64 -1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))) -1)
(+.f64 -1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(-.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1)
(+.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))) -1)
(+.f64 -1 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(+.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2)) (sqrt.f64 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 -1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1))
(/.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)))
(*.f64 (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1))
(/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(*.f64 (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 0) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 0 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 0))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(*.f64 (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(/.f64 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 0) (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))) -1)
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1))
(pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1)) -1)
(*.f64 (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(pow.f64 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) 1)
(fma.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(fma.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) 1)
(fma.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1)
(fma.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) 1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) 1)
(+.f64 (/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) 1)
(+.f64 1 (/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))))
(fma.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) 0)
(*.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1))
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) 1)
(+.f64 (/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) 1)
(+.f64 1 (/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(fma.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) 0)
(*.f64 (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) 0)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 0)
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) 0)
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 0)
(*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2)) (sqrt.f64 (log.f64 base)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) 0)
(/.f64 (atan2.f64 im re) (log.f64 base))
(fma.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(*.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(*.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))
(*.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)))
(*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) (*.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(*.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(*.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(*.f64 (+.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) (-.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 1 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)))
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (-.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) (neg.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)) (neg.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (-.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (-.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1) 1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (E.f64) (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) 1/2)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 3)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 2)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3) 1/3)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (/.f64 (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) -1)
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (-.f64 1 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))
(pow.f64 (/.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1) (+.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) -1)) -1)
(-.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(+.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)) (/.f64 -1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 2)) (cbrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) (sqrt.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(sqrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(log.f64 (exp.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(cbrt.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(expm1.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(expm1.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(log1p.f64 (expm1.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(exp.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(exp.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 3))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 2))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))) 1/3))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 1) 1))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)) 3) 1/3))
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1 -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)))) -1)
(+.f64 -1 (/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) (-.f64 2 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 -1 (/.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 3)) (fma.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2) 1)))
(fma.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (+.f64 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2) -1) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) -1)
(fma.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (/.f64 1 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) -1)
(+.f64 -1 (/.f64 (+.f64 -1 (pow.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 2)) (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) -1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(fma.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (pow.f64 (log.f64 base) 2))) -1)
(fma.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) -1)
(+.f64 -1 (/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))))
(+.f64 -1 (/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(fma.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) -1)
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) -1)
(+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (atan2.f64 im re))
0.2b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
0.5b
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
4.3b
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
Compiler

Compiled 40 to 20 computations (50% saved)

series193.0ms (2.8%)

Counts
4 → 108
Calls

33 calls:

TimeVariablePointExpression
63.0ms
im
@-inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
20.0ms
base
@0
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
16.0ms
re
@inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
15.0ms
base
@-inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
15.0ms
im
@inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
907×pow1_binary64
831×add-log-exp_binary64
830×log1p-expm1-u_binary64
830×expm1-log1p-u_binary64
810×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01044
120235
2238535
Stop Event
node limit
Counts
4 → 90
Calls
Call 1
Inputs
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(/.f64 1 (atan2.f64 im re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2) (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 (/.f64 1 (atan2.f64 im re))) (pow.f64 base (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 base) 2) (/.f64 1 (atan2.f64 im re))) (pow.f64 (cbrt.f64 base) (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 base) (/.f64 1 (atan2.f64 im re))) (pow.f64 (sqrt.f64 base) (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))) (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (/.f64 1 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 im re) -1/2) (*.f64 (pow.f64 (atan2.f64 im re) -1/2) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 1 (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 base) (pow.f64 (atan2.f64 im re) -1/2)) (pow.f64 (atan2.f64 im re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 base) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (log.f64 base)) (neg.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 base) -1) (neg.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) -1) (pow.f64 (log.f64 base) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (atan2.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (/.f64 1 (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 im re) -1/2) (pow.f64 (atan2.f64 im re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) -1) (pow.f64 (cbrt.f64 (atan2.f64 im re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1) (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan2.f64 im re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 im re) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 im re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (atan2.f64 im re))))))))

simplify66.0ms (1%)

Algorithm
egg-herbie
Rules
534×associate-*l/_binary64
469×associate-/l*_binary64
412×fma-def_binary64
392×associate-/r*_binary64
202×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01932215
14302063
216212010
Stop Event
node limit
Counts
198 → 117
Calls
Call 1
Inputs
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 1 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(-.f64 (+.f64 1 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 1)
(*.f64 1 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(*.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 1)
(*.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2) (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(*.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(*.f64 (pow.f64 1 (/.f64 1 (atan2.f64 im re))) (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 base) 2) (/.f64 1 (atan2.f64 im re))) (pow.f64 (cbrt.f64 base) (/.f64 1 (atan2.f64 im re))))
(*.f64 (pow.f64 (sqrt.f64 base) (/.f64 1 (atan2.f64 im re))) (pow.f64 (sqrt.f64 base) (/.f64 1 (atan2.f64 im re))))
(sqrt.f64 (pow.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 2))
(log.f64 (exp.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(cbrt.f64 (pow.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 3))
(expm1.f64 (log1p.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(log1p.f64 (expm1.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 0 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))) (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))
(-.f64 (+.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(*.f64 (log.f64 base) (/.f64 1 (atan2.f64 im re)))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (log.f64 base)))
(*.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (pow.f64 (atan2.f64 im re) -1/2) (*.f64 (pow.f64 (atan2.f64 im re) -1/2) (log.f64 base)))
(*.f64 (*.f64 (log.f64 base) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 1 (cbrt.f64 (atan2.f64 im re))))
(*.f64 (*.f64 (log.f64 base) (pow.f64 (atan2.f64 im re) -1/2)) (pow.f64 (atan2.f64 im re) -1/2))
(/.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (/.f64 1 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1)
(/.f64 (*.f64 -1 (log.f64 base)) (neg.f64 (atan2.f64 im re)))
(/.f64 (*.f64 (log.f64 base) -1) (neg.f64 (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))
(cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))
(expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(log1p.f64 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 -1 (/.f64 1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) -1) (pow.f64 (log.f64 base) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(-.f64 (+.f64 1 (/.f64 1 (atan2.f64 im re))) 1)
(*.f64 1 (/.f64 1 (atan2.f64 im re)))
(*.f64 (/.f64 1 (atan2.f64 im re)) 1)
(*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (/.f64 1 (cbrt.f64 (atan2.f64 im re))))
(*.f64 (pow.f64 (atan2.f64 im re) -1/2) (pow.f64 (atan2.f64 im re) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (atan2.f64 im re))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) -1) (pow.f64 (cbrt.f64 (atan2.f64 im re)) -1))
(*.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1) (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1))
(pow.f64 (atan2.f64 im re) -1)
(pow.f64 (/.f64 1 (atan2.f64 im re)) 1)
(pow.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) 3)
(pow.f64 (pow.f64 (atan2.f64 im re) -1/2) 2)
(sqrt.f64 (pow.f64 (atan2.f64 im re) -2))
(log.f64 (exp.f64 (/.f64 1 (atan2.f64 im re))))
(cbrt.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3))
(expm1.f64 (log1p.f64 (/.f64 1 (atan2.f64 im re))))
(log1p.f64 (expm1.f64 (/.f64 1 (atan2.f64 im re))))
(exp.f64 (neg.f64 (log.f64 (atan2.f64 im re))))
Outputs
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(exp.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 1 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(-.f64 (+.f64 1 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 1)
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(*.f64 1 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(*.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 1)
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2) (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(*.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(*.f64 (pow.f64 1 (/.f64 1 (atan2.f64 im re))) (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 base) 2) (/.f64 1 (atan2.f64 im re))) (pow.f64 (cbrt.f64 base) (/.f64 1 (atan2.f64 im re))))
(*.f64 (pow.f64 (sqrt.f64 base) (/.f64 1 (atan2.f64 im re))) (pow.f64 (sqrt.f64 base) (/.f64 1 (atan2.f64 im re))))
(pow.f64 (sqrt.f64 base) (*.f64 2 (/.f64 1 (atan2.f64 im re))))
(pow.f64 (sqrt.f64 base) (/.f64 2 (atan2.f64 im re)))
(sqrt.f64 (pow.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 2))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(log.f64 (exp.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(cbrt.f64 (pow.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))) 3))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(expm1.f64 (log1p.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(log1p.f64 (expm1.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(exp.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 base (/.f64 1 (atan2.f64 im re)))
(+.f64 0 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))) (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))
(*.f64 2 (log.f64 (pow.f64 base (/.f64 1/2 (atan2.f64 im re)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))))
(-.f64 (+.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (/.f64 1 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (/.f64 (*.f64 1 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (log.f64 base) (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (atan2.f64 im re) -1/2) (*.f64 (pow.f64 (atan2.f64 im re) -1/2) (log.f64 base)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (log.f64 base) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 1 (cbrt.f64 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (/.f64 (*.f64 1 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (log.f64 base) (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (*.f64 (log.f64 base) (pow.f64 (atan2.f64 im re) -1/2)) (pow.f64 (atan2.f64 im re) -1/2))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 1 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (*.f64 -1 (log.f64 base)) (neg.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (*.f64 (log.f64 base) -1) (neg.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)
(/.f64 (log.f64 base) (atan2.f64 im re))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))
(/.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(log1p.f64 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 1 (neg.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) -1) (pow.f64 (log.f64 base) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (+.f64 1 (/.f64 1 (atan2.f64 im re))) 1)
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(*.f64 1 (/.f64 1 (atan2.f64 im re)))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(*.f64 (/.f64 1 (atan2.f64 im re)) 1)
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (/.f64 1 (cbrt.f64 (atan2.f64 im re))))
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (/.f64 1 (cbrt.f64 (atan2.f64 im re))))
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (pow.f64 (atan2.f64 im re) -1/2) (pow.f64 (atan2.f64 im re) -1/2))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(*.f64 -1 (/.f64 1 (neg.f64 (atan2.f64 im re))))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) -1) (pow.f64 (cbrt.f64 (atan2.f64 im re)) -1))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(*.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1) (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1))
(pow.f64 (sqrt.f64 (atan2.f64 im re)) -2)
(pow.f64 (atan2.f64 im re) -1)
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (/.f64 1 (atan2.f64 im re)) 1)
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) 3)
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (pow.f64 (atan2.f64 im re) -1/2) 2)
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(sqrt.f64 (pow.f64 (atan2.f64 im re) -2))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(log.f64 (exp.f64 (/.f64 1 (atan2.f64 im re))))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(expm1.f64 (log1p.f64 (/.f64 1 (atan2.f64 im re))))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(log1p.f64 (expm1.f64 (/.f64 1 (atan2.f64 im re))))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))
(exp.f64 (neg.f64 (log.f64 (atan2.f64 im re))))
(+.f64 1 (-.f64 (/.f64 1 (atan2.f64 im re)) 1))
(+.f64 (/.f64 1 (atan2.f64 im re)) 0)
(/.f64 1 (atan2.f64 im re))

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 3)) (log.f64 base))
0.8b
(pow.f64 (atan2.f64 im re) 3)
6.1b
(cbrt.f64 (pow.f64 (atan2.f64 im re) 3))
Compiler

Compiled 32 to 15 computations (53.1% saved)

series7.0ms (0.1%)

Counts
3 → 60
Calls

21 calls:

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

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
872×pow1_binary64
811×add-log-exp_binary64
811×log1p-expm1-u_binary64
811×expm1-log1p-u_binary64
791×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
120820
2224120
Stop Event
node limit
Counts
3 → 70
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (atan2.f64 im re) 3)
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 3)) (log.f64 base))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (atan2.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/3) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 3/2) 1/3) (pow.f64 (pow.f64 (atan2.f64 im re) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan2.f64 im re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 im re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (atan2.f64 im re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (atan2.f64 im re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x atan2.f64 im re)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (atan2.f64 im re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (atan2.f64 im re) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (pow.f64 (atan2.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 im re) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (atan2.f64 im re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 im re) 2) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (atan2.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (atan2.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 im re) 3/2) (pow.f64 (atan2.f64 im re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 3) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) 3) (pow.f64 (sqrt.f64 (atan2.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) 1) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 im re) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (atan2.f64 im re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (atan2.f64 im re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (atan2.f64 im re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (atan2.f64 im re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))

simplify57.0ms (0.8%)

Algorithm
egg-herbie
Rules
714×times-frac_binary64
652×log-div_binary64
548×fma-neg_binary64
421×associate-*l/_binary64
306×associate-*r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01571159
13321082
214841025
370311025
Stop Event
node limit
Counts
130 → 84
Calls
Call 1
Inputs
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (+.f64 1 (atan2.f64 im re)) 1)
(*.f64 (atan2.f64 im re) 1)
(*.f64 1 (atan2.f64 im re))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (atan2.f64 im re)))
(*.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/3) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (pow.f64 1 1/3) (atan2.f64 im re))
(*.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 3/2) 1/3) (pow.f64 (pow.f64 (atan2.f64 im re) 3/2) 1/3))
(pow.f64 (atan2.f64 im re) 1)
(pow.f64 (pow.f64 (atan2.f64 im re) 3) 1/3)
(pow.f64 (cbrt.f64 (atan2.f64 im re)) 3)
(pow.f64 (sqrt.f64 (atan2.f64 im re)) 2)
(sqrt.f64 (pow.f64 (atan2.f64 im re) 2))
(log.f64 (exp.f64 (atan2.f64 im re)))
(expm1.f64 (log1p.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(log1p.f64 (expm1.f64 (atan2.f64 im re)))
(exp.f64 (log.f64 (atan2.f64 im re)))
(-.f64 (+.f64 1 (pow.f64 (atan2.f64 im re) 3)) 1)
(*.f64 (atan2.f64 im re) (pow.f64 (atan2.f64 im re) 2))
(*.f64 (pow.f64 (atan2.f64 im re) 3) 1)
(*.f64 1 (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (atan2.f64 im re) 2) (atan2.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (atan2.f64 im re) 2)))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (atan2.f64 im re) 2)))
(*.f64 (pow.f64 (atan2.f64 im re) 3/2) (pow.f64 (atan2.f64 im re) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 3) (atan2.f64 im re))
(*.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) 3) (pow.f64 (sqrt.f64 (atan2.f64 im re)) 3))
(*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) 1) (atan2.f64 im re))
(*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(sqrt.f64 (pow.f64 (atan2.f64 im re) 6))
(log.f64 (exp.f64 (pow.f64 (atan2.f64 im re) 3)))
(cbrt.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (atan2.f64 im re) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (atan2.f64 im re) 3)))
(exp.f64 (*.f64 3 (log.f64 (atan2.f64 im re))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(atan2.f64 im re)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (+.f64 1 (atan2.f64 im re)) 1)
(atan2.f64 im re)
(*.f64 (atan2.f64 im re) 1)
(atan2.f64 im re)
(*.f64 1 (atan2.f64 im re))
(atan2.f64 im re)
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2))
(atan2.f64 im re)
(*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/3))
(atan2.f64 im re)
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(*.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(*.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 2) 1/3) (cbrt.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(*.f64 (pow.f64 1 1/3) (atan2.f64 im re))
(atan2.f64 im re)
(*.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 3/2) 1/3) (pow.f64 (pow.f64 (atan2.f64 im re) 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 3/2)) (cbrt.f64 (pow.f64 (atan2.f64 im re) 3/2)))
(pow.f64 (atan2.f64 im re) 1)
(atan2.f64 im re)
(pow.f64 (pow.f64 (atan2.f64 im re) 3) 1/3)
(atan2.f64 im re)
(pow.f64 (cbrt.f64 (atan2.f64 im re)) 3)
(atan2.f64 im re)
(pow.f64 (sqrt.f64 (atan2.f64 im re)) 2)
(atan2.f64 im re)
(sqrt.f64 (pow.f64 (atan2.f64 im re) 2))
(atan2.f64 im re)
(log.f64 (exp.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(expm1.f64 (log1p.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(atan2.f64 im re)
(log1p.f64 (expm1.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(exp.f64 (log.f64 (atan2.f64 im re)))
(atan2.f64 im re)
(-.f64 (+.f64 1 (pow.f64 (atan2.f64 im re) 3)) 1)
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (atan2.f64 im re) (pow.f64 (atan2.f64 im re) 2))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (pow.f64 (atan2.f64 im re) 3) 1)
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 1 (pow.f64 (atan2.f64 im re) 3))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (pow.f64 (atan2.f64 im re) 2) (atan2.f64 im re))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (atan2.f64 im re) 2)))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (atan2.f64 im re) 2)))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (pow.f64 (atan2.f64 im re) 3/2) (pow.f64 (atan2.f64 im re) 3/2))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 3) (atan2.f64 im re))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) 3) (pow.f64 (sqrt.f64 (atan2.f64 im re)) 3))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) 1) (atan2.f64 im re))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(sqrt.f64 (pow.f64 (atan2.f64 im re) 6))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(log.f64 (exp.f64 (pow.f64 (atan2.f64 im re) 3)))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(cbrt.f64 (pow.f64 (pow.f64 (atan2.f64 im re) 3) 3))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(expm1.f64 (log1p.f64 (pow.f64 (atan2.f64 im re) 3)))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(log1p.f64 (expm1.f64 (pow.f64 (atan2.f64 im re) 3)))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(exp.f64 (*.f64 3 (log.f64 (atan2.f64 im re))))
(+.f64 1 (-.f64 (pow.f64 (atan2.f64 im re) 3) 1))
(+.f64 (pow.f64 (atan2.f64 im re) 3) 0)
(pow.f64 (atan2.f64 im re) 3)
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
0.6b
(cbrt.f64 (pow.f64 (log.f64 base) 4))
0.6b
(cbrt.f64 (log.f64 base))
0.9b
(pow.f64 (log.f64 base) 4)
Compiler

Compiled 72 to 33 computations (54.2% saved)

series19.0ms (0.3%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
3.0ms
base
@0
(cbrt.f64 (log.f64 base))
2.0ms
im
@inf
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
2.0ms
base
@inf
(cbrt.f64 (log.f64 base))
2.0ms
base
@-inf
(cbrt.f64 (pow.f64 (log.f64 base) 4))
2.0ms
base
@0
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
714×log-prod_binary64
362×pow2_binary64
281×pow-unpow_binary64
252×pow1/3_binary64
247×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify55.0ms (0.8%)

Algorithm
egg-herbie
Rules
717×fma-def_binary64
508×distribute-rgt-in_binary64
470×distribute-lft-in_binary64
434×associate-/l/_binary64
228×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02541731
15921639
224981632
Stop Event
node limit
Counts
164 → 133
Calls
Call 1
Inputs
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (log.f64 base) 1/3)
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (cbrt.f64 (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (log.f64 base)))) 1)
(*.f64 (cbrt.f64 (log.f64 base)) 1)
(*.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2))
(*.f64 (pow.f64 (log.f64 base) 1/6) (pow.f64 (log.f64 base) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (cbrt.f64 (log.f64 base)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 3)
(pow.f64 (pow.f64 (log.f64 base) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(fabs.f64 (cbrt.f64 (log.f64 base)))
(log.f64 (exp.f64 (cbrt.f64 (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (log.f64 base)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (log.f64 base))))
(log1p.f64 (expm1.f64 (cbrt.f64 (log.f64 base))))
(exp.f64 (log.f64 (cbrt.f64 (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1))
(+.f64 0 (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))) (log.f64 (sqrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))) 1)
(*.f64 (log.f64 base) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 base)) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) 1)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(*.f64 (pow.f64 1 1/3) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2))
(pow.f64 (log.f64 base) 4/3)
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) 1)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 2)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)) 1/2)
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) 3)
(sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)))
(log.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(exp.f64 (*.f64 4/3 (log.f64 (log.f64 base))))
(exp.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1/3))
(exp.f64 (*.f64 (*.f64 4/3 (log.f64 (log.f64 base))) 1))
(+.f64 0 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))) (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))) 1)
(*.f64 (log.f64 base) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(*.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 1)
(*.f64 1 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 2) (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(*.f64 (neg.f64 (log.f64 base)) (/.f64 1 (/.f64 (neg.f64 (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(*.f64 (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) (log.f64 base))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (log.f64 base) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))) (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))) (/.f64 (cbrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)) (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)) (/.f64 (log.f64 base) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)) (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))))
(*.f64 (/.f64 1 (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) (/.f64 (log.f64 base) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))
(*.f64 (/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (atan2.f64 im re))
(*.f64 (/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) 1) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2))) (neg.f64 (atan2.f64 im re)))
(pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 1)
(pow.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 3)
(pow.f64 (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) 2)
(pow.f64 (/.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) (log.f64 base)) -1)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) (log.f64 base)) 1) -1)
(neg.f64 (/.f64 (log.f64 base) (/.f64 (neg.f64 (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 2))
(log.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 3))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(exp.f64 (log.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 1))
Outputs
(pow.f64 (log.f64 base) 1/3)
(cbrt.f64 (log.f64 base))
(pow.f64 (log.f64 base) 1/3)
(cbrt.f64 (log.f64 base))
(pow.f64 (log.f64 base) 1/3)
(cbrt.f64 (log.f64 base))
(pow.f64 (log.f64 base) 1/3)
(cbrt.f64 (log.f64 base))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (cbrt.f64 -1))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(cbrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(cbrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(cbrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(cbrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(cbrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(cbrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(cbrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(cbrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 base)) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(cbrt.f64 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 4))
(cbrt.f64 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 4))
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(cbrt.f64 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 4))
(cbrt.f64 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 4))
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(cbrt.f64 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 4))
(cbrt.f64 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 4))
(pow.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 4) 1/3)
(cbrt.f64 (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 4))
(cbrt.f64 (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 4))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 0 (cbrt.f64 (log.f64 base)))
(cbrt.f64 (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base)))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (log.f64 base)))) 1)
(cbrt.f64 (log.f64 base))
(*.f64 (cbrt.f64 (log.f64 base)) 1)
(cbrt.f64 (log.f64 base))
(*.f64 1 (cbrt.f64 (log.f64 base)))
(cbrt.f64 (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2))
(cbrt.f64 (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) 1/6) (pow.f64 (log.f64 base) 1/6))
(cbrt.f64 (log.f64 base))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))) (fabs.f64 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (log.f64 base)))
(cbrt.f64 (log.f64 base))
(pow.f64 (log.f64 base) 1/3)
(cbrt.f64 (log.f64 base))
(pow.f64 (cbrt.f64 (log.f64 base)) 1)
(cbrt.f64 (log.f64 base))
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1/2)
(cbrt.f64 (log.f64 base))
(pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 3)
(cbrt.f64 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) 1/6) 2)
(cbrt.f64 (log.f64 base))
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(cbrt.f64 (log.f64 base))
(fabs.f64 (cbrt.f64 (log.f64 base)))
(cbrt.f64 (log.f64 base))
(log.f64 (exp.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (log.f64 base)))))
(cbrt.f64 (log.f64 base))
(expm1.f64 (log1p.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(log1p.f64 (expm1.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(exp.f64 (log.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) 1/3))
(cbrt.f64 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1))
(cbrt.f64 (log.f64 base))
(+.f64 0 (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))) (log.f64 (sqrt.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))) 1)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(*.f64 (log.f64 base) (cbrt.f64 (log.f64 base)))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(*.f64 (cbrt.f64 (log.f64 base)) (log.f64 base))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) 1)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(*.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 7) (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8))))
(*.f64 (pow.f64 1 1/3) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 7) (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(pow.f64 (log.f64 base) 4/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (pow.f64 (log.f64 base) 4) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) 1)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 2)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)) 1/2)
(sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)))
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) 3)
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 8)))
(log.f64 (pow.f64 base (cbrt.f64 (log.f64 base))))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4))))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(exp.f64 (*.f64 4/3 (log.f64 (log.f64 base))))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(exp.f64 (*.f64 (*.f64 4 (log.f64 (log.f64 base))) 1/3))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(exp.f64 (*.f64 (*.f64 4/3 (log.f64 (log.f64 base))) 1))
(cbrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (cbrt.f64 (log.f64 base)) 4)
(+.f64 0 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))) (log.f64 (sqrt.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 2) (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (log.f64 base)) (/.f64 1 (/.f64 (neg.f64 (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (log.f64 base) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))) (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))) (/.f64 (cbrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)) (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)))
(*.f64 (cbrt.f64 (*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)) (/.f64 (log.f64 base) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(/.f64 (/.f64 (log.f64 base) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)) (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2)) (/.f64 (log.f64 base) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(/.f64 (/.f64 (log.f64 base) (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re))) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) (/.f64 (log.f64 base) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) 1) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2))) (neg.f64 (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) (log.f64 base)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) 3)) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) (log.f64 base)) 1) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (/.f64 (log.f64 base) (/.f64 (neg.f64 (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (pow.f64 base (/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))

eval197.0ms (2.9%)

Compiler

Compiled 12411 to 5410 computations (56.4% saved)

prune156.0ms (2.3%)

Pruning

13 alts after pruning (5 fresh and 8 done)

PrunedKeptTotal
New7592761
Fresh033
Picked101
Done088
Total76013773
Error
0b
Counts
773 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
29.9b
(/.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) 2) (log.f64 base))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.5b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
5.7b
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 3)) (log.f64 base))
0.7b
(/.f64 1 (/.f64 (/.f64 1 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
0.6b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.7b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
11.0b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
13.8b
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) -3)))
0.8b
(*.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (log.f64 base)))
Compiler

Compiled 163 to 120 computations (26.4% saved)

regimes129.0ms (1.9%)

Accuracy

Total -56.7b remaining (-21358.4%)

Threshold costs -56.7b (-21358.4%)

Counts
46 → 1
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1) 1)
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
(/.f64 1 (/.f64 (/.f64 1 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) -3)))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 3)) (log.f64 base))
(/.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) 2) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(*.f64 (atan2.f64 im re) (log.f64 (exp.f64 (/.f64 1 (log.f64 base)))))
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) -1/2) 2))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (/.f64 1 (log.f64 base)))
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base))))
(pow.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2)) 2)
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(*.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3)))
(/.f64 (*.f64 (*.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base))) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (atan2.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) -2)))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
Calls

5 calls:

42.0ms
(log.f64 base)
21.0ms
base
20.0ms
re
19.0ms
im
15.0ms
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
Results
ErrorSegmentsBranch
0.3b1re
0.3b1im
0.3b1base
0.3b1(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
0.3b1(log.f64 base)
Compiler

Compiled 594 to 246 computations (58.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
Compiler

Compiled 9 to 6 computations (33.3% saved)

soundness161.0ms (2.3%)

Algorithm
egg-herbie
Rules
877×fma-def_binary64
692×fma-neg_binary64
640×cube-prod_binary64
454×associate-/l*_binary64
447×sqr-pow_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01920
14119
26812
3949
41159
52739
610679
724959
835459
953049
1059099
1169949
Stop Event
node limit
Compiler

Compiled 138 to 86 computations (37.7% saved)

end16.0ms (0.2%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

Profiling

Loading profile data...