Details

Time bar (total: 6.8s)

analyze203.0ms (3%)

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.2s (31.9%)

Results
1.8s8256×body256valid
365.0ms2093×body256invalid
Bogosity

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

series70.0ms (1%)

Counts
1 → 8
Calls

9 calls:

TimeVariablePointExpression
23.0ms
im
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
20.0ms
base
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
10.0ms
base
@inf
(/.f64 (atan2.f64 im re) (log.f64 base))
10.0ms
base
@-inf
(/.f64 (atan2.f64 im re) (log.f64 base))
5.0ms
re
@0
(/.f64 (atan2.f64 im re) (log.f64 base))

rewrite76.0ms (1.1%)

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

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

localize14.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.6b
(*.f64 (log.f64 base) (log.f64 base))
Compiler

Compiled 37 to 12 computations (67.6% saved)

series14.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
4.0ms
base
@inf
(*.f64 (log.f64 base) (log.f64 base))
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 (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)))

rewrite85.0ms (1.2%)

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

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

prune42.0ms (0.6%)

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
35.6b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
0.6b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
32.8b
(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)
1.8b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 3))
0.5b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (sqrt.f64 (pow.f64 (log.f64 base) 4)))
1.5b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2))))
0.7b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3)))
32.8b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.f64 (log.f64 base) (log.f64 base)))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
32.0b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
1.2b
(/.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)))
0.5b
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 base) (log.f64 base)))
1.2b
(/.f64 (*.f64 (*.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base))) (*.f64 (log.f64 base) (log.f64 base)))
32.1b
(/.f64 (*.f64 (*.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base))) (*.f64 (log.f64 base) (log.f64 base)))
25.5b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 base) (log.f64 base)))
0.4b
(*.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)))
32.9b
(*.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.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
0.5b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
0.6b
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
33.4b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.4b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
Compiler

Compiled 741 to 484 computations (34.7% 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
re
@0
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.0ms
im
@inf
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))

rewrite60.0ms (0.9%)

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

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

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
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
Compiler

Compiled 26 to 9 computations (65.4% saved)

series12.0ms (0.2%)

Counts
2 → 44
Calls

18 calls:

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

rewrite82.0ms (1.2%)

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: 1 (0.0ms)

IterNodesCost
0921
118118
2218818
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.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 (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 (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 (log.f64 base) -1) (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (pow.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)) (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 (cbrt.f64 (pow.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 (log.f64 base)) (atan2.f64 im re))))) (#(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 (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 (log.f64 base) (atan2.f64 im re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(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 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (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 (/.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 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 (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 1 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.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 (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 (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 (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 (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.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)) (cbrt.f64 (pow.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 (cbrt.f64 (pow.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))))))))

simplify61.0ms (0.9%)

Algorithm
egg-herbie
Rules
643×log-div_binary64
547×fma-def_binary64
488×fma-neg_binary64
430×associate-*l/_binary64
414×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01761455
14091299
212441299
365961299
Stop Event
node limit
Counts
115 → 95
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 (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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1) (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (pow.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)) (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 (cbrt.f64 (pow.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 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 1 (neg.f64 (log.f64 base))) (neg.f64 (atan2.f64 im re)))
(/.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 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (cbrt.f64 (pow.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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.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 (/.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (cbrt.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))))
(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 (log.f64 base) (/.f64 1 (atan2.f64 im re)))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (cbrt.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 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.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 (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (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 (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 (pow.f64 (log.f64 base) -1) (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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (atan2.f64 im re))) (log.f64 base))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.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 (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 (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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (atan2.f64 im re))) (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 (/.f64 1 (cbrt.f64 (pow.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))) (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (atan2.f64 im re))) (log.f64 base))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.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 (log.f64 base)) (atan2.f64 im re))
(/.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 (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 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (atan2.f64 im re))) (log.f64 base))
(*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.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 (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 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.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 (cbrt.f64 (pow.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))) (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))))
(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 (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 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 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (/.f64 1 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (/.f64 (cbrt.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 (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 (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 (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 (cbrt.f64 (pow.f64 (log.f64 base) 2)) 1) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (/.f64 1 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (/.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)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))) (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))))
(/.f64 (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)))
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))) (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))) (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))))
(/.f64 (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)))
(/.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (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))))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (sqrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (/.f64 1 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (/.f64 (cbrt.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))

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 34 to 10 computations (70.6% saved)

series8.0ms (0.1%)

Counts
2 → 44
Calls

18 calls:

TimeVariablePointExpression
1.0ms
base
@inf
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.0ms
im
@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
re
@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)

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

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

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (log.f64 base))
0.1b
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
0.2b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
Compiler

Compiled 32 to 8 computations (75% saved)

series8.0ms (0.1%)

Counts
3 → 80
Calls

21 calls:

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

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
962×pow1_binary64
889×add-log-exp_binary64
889×log1p-expm1-u_binary64
889×expm1-log1p-u_binary64
93×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify107.0ms (1.6%)

Algorithm
egg-herbie
Rules
921×log-prod_binary64
473×unswap-sqr_binary64
324×*-commutative_binary64
291×associate-/r/_binary64
258×log-div_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02342350
15182288
222652276
373922276
Stop Event
node limit
Counts
177 → 135
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 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 (atan2.f64 im re) (*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -1/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 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (pow.f64 (log.f64 base) -1/2)))
(*.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) (sqrt.f64 (log.f64 base)))) (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (/.f64 1 (neg.f64 (sqrt.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 (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 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (/.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (sqrt.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 (atan2.f64 im re) 1) (/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) 1) (/.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) 1) (/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (cbrt.f64 (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (cbrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 1/4)) (/.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) 1/4)))
(*.f64 (/.f64 1 (pow.f64 (log.f64 base) 1/4)) (/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) 1/4)))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (pow.f64 (log.f64 base) 1/4)) (/.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (pow.f64 (log.f64 base) 1/4)))
(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 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(neg.f64 (/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (neg.f64 (sqrt.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))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 3) (pow.f64 (log.f64 base) 3/2)))
(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 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))) 1)
(*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2))
(*.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 1 (pow.f64 (log.f64 base) 1/4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 1/4)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) 1/4)))
(pow.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) 2)
(pow.f64 (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)) -1)
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (sqrt.f64 (log.f64 base)))))
(sqrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base)))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3/2)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (log.f64 base)))) 1)
(*.f64 (sqrt.f64 (log.f64 base)) 1)
(*.f64 1 (sqrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (sqrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) 1/4) (pow.f64 (log.f64 base) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (sqrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1/2) (pow.f64 (cbrt.f64 (log.f64 base)) 1/2))
(pow.f64 (log.f64 base) 1/2)
(pow.f64 (sqrt.f64 (log.f64 base)) 1)
(pow.f64 (pow.f64 (log.f64 base) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) 3)
(pow.f64 (pow.f64 (log.f64 base) 1/4) 2)
(fabs.f64 (sqrt.f64 (log.f64 base)))
(log.f64 (exp.f64 (sqrt.f64 (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (log.f64 base)))))
(cbrt.f64 (pow.f64 (log.f64 base) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (log.f64 base))))
(log1p.f64 (expm1.f64 (sqrt.f64 (log.f64 base))))
(exp.f64 (log.f64 (sqrt.f64 (log.f64 base))))
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 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (*.f64 (sqrt.f64 -1) (atan2.f64 im re)) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (log.f64 (/.f64 1 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 (log.f64 base))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(sqrt.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(sqrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 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 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/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 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) -1/2))
(*.f64 (atan2.f64 im re) (/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (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 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (*.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (*.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (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) (sqrt.f64 (log.f64 base)))) (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (atan2.f64 im re) (/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (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 (/.f64 (neg.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (/.f64 1 (neg.f64 (sqrt.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 (atan2.f64 im re) (/.f64 (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 (/.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 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (/.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (/.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (sqrt.f64 (log.f64 base)))) (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 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (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 (/.f64 (atan2.f64 im re) 1) (/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base))))
(*.f64 (atan2.f64 im re) (/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) 1) (/.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (sqrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (/.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) 1) (/.f64 (sqrt.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 (cbrt.f64 (log.f64 base))) (/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (*.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) 4))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (cbrt.f64 (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (cbrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (*.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) 4))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 1/4)) (/.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) 1/4)))
(*.f64 (atan2.f64 im re) (/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (pow.f64 (log.f64 base) 1/4)) (/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (pow.f64 (log.f64 base) 1/4)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (pow.f64 (log.f64 base) 1/4)) (/.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (pow.f64 (log.f64 base) 1/4)))
(*.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (/.f64 (cbrt.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 (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 1 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (neg.f64 (sqrt.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))
(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 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 3) (pow.f64 (log.f64 base) 3/2)))
(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 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))) 1)
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2))
(*.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(*.f64 1 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (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 (atan2.f64 im re)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (pow.f64 (log.f64 base) 1/4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 1/4)))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 1/4)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) 1/4)))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 3) 1/3)
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) 3)
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))) 2)
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(pow.f64 (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (sqrt.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(sqrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 2) (log.f64 base)))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) 3))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3/2)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base)))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (log.f64 base)))) 1)
(sqrt.f64 (log.f64 base))
(*.f64 (sqrt.f64 (log.f64 base)) 1)
(sqrt.f64 (log.f64 base))
(*.f64 1 (sqrt.f64 (log.f64 base)))
(sqrt.f64 (log.f64 base))
(*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (sqrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (sqrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) 1/4) (pow.f64 (log.f64 base) 1/4))
(sqrt.f64 (log.f64 base))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (sqrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (fabs.f64 (cbrt.f64 (log.f64 base))) (sqrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (log.f64 base)))
(sqrt.f64 (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1/2) (pow.f64 (cbrt.f64 (log.f64 base)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (sqrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (fabs.f64 (cbrt.f64 (log.f64 base))) (sqrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (cbrt.f64 (log.f64 base))))
(pow.f64 (log.f64 base) 1/2)
(sqrt.f64 (log.f64 base))
(pow.f64 (sqrt.f64 (log.f64 base)) 1)
(sqrt.f64 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) 3/2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) 3)
(sqrt.f64 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) 1/4) 2)
(sqrt.f64 (log.f64 base))
(fabs.f64 (sqrt.f64 (log.f64 base)))
(sqrt.f64 (log.f64 base))
(log.f64 (exp.f64 (sqrt.f64 (log.f64 base))))
(sqrt.f64 (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (log.f64 base)))))
(sqrt.f64 (log.f64 base))
(cbrt.f64 (pow.f64 (log.f64 base) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (log.f64 base))))
(sqrt.f64 (log.f64 base))
(log1p.f64 (expm1.f64 (sqrt.f64 (log.f64 base))))
(sqrt.f64 (log.f64 base))
(exp.f64 (log.f64 (sqrt.f64 (log.f64 base))))
(sqrt.f64 (log.f64 base))

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2))))
0.4b
(fma.f64 (atan2.f64 im re) (log.f64 base) 0)
0.6b
(pow.f64 (log.f64 base) 2)
1.7b
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))
Compiler

Compiled 49 to 25 computations (49% saved)

series4.0ms (0.1%)

Counts
3 → 56
Calls

15 calls:

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

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
497×log-prod_binary64
390×exp-prod_binary64
284×prod-exp_binary64
277×pow2_binary64
265×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01330
123929
2272229
Stop Event
node limit
Counts
3 → 129
Calls
Call 1
Inputs
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (log.f64 base) 2)
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (expm1.f64 (log1p.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 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)))) (#(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 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.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 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.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 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))))) (#(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 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 1 (*.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) 1) (+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 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 (exp.f64 2) (log.f64 (log.f64 base)))))) (#(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) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) 3) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 base)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 base)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (log.f64 base)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (log.f64 base))))) (sqrt.f64 (*.f64 2 (log.f64 (log.f64 base)))))))) (#(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 cbrt.f64 (pow.f64 (log.f64 base) 6))))) (#(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 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) 2) (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (log.f64 base)) (hypot.f64 1 (log.f64 base)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (log.f64 base) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)))) (#(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 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 base) (log.f64 base))))) (#(struct:change #<rule egg-rr> (2) ((x *.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 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.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 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))))) (#(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 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 1 (*.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) 1) (+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))))) (#(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 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 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) 2) (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (log.f64 base)) (hypot.f64 1 (log.f64 base)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.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 (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 (log.f64 (pow.f64 (pow.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)) (cbrt.f64 (log.f64 (pow.f64 (pow.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 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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (log.f64 (pow.f64 (pow.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))) (cbrt.f64 (pow.f64 (log.f64 base) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (pow.f64 (pow.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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (pow.f64 (pow.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 pow.f64 (exp.f64 1) (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (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 (/.f64 (pow.f64 (log.f64 base) 2) (*.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) 2)) (cbrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (sqrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))))) (#(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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4))))) (#(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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6))))) (#(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 (log.f64 (pow.f64 (pow.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.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 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 (pow.f64 (pow.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 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 1) 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 (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)))))))

simplify67.0ms (1%)

Algorithm
egg-herbie
Rules
648×associate-/l*_binary64
619×associate-/r*_binary64
441×unswap-sqr_binary64
427×fma-def_binary64
244×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02502136
15962026
217021981
Stop Event
node limit
Counts
185 → 135
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)
(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 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (pow.f64 (log.f64 base) 2))
(+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(+.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 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1)
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) 2) 1)
(*.f64 1 (pow.f64 (log.f64 base) 2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 1 (*.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) 1) (+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 2) 1)
(pow.f64 (exp.f64 2) (log.f64 (log.f64 base)))
(pow.f64 (pow.f64 (log.f64 base) 4) 1/2)
(pow.f64 (pow.f64 (log.f64 base) 6) 1/3)
(pow.f64 (pow.f64 (log.f64 base) 3) 2/3)
(pow.f64 (cbrt.f64 (log.f64 base)) 6)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) 3)
(pow.f64 (sqrt.f64 (log.f64 base)) 4)
(pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (log.f64 base))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (log.f64 base)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (log.f64 base))))) (sqrt.f64 (*.f64 2 (log.f64 (log.f64 base)))))
(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))))
(cbrt.f64 (pow.f64 (log.f64 base) 6))
(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 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(fma.f64 1 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) 2) (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) -1)
(fma.f64 (hypot.f64 1 (log.f64 base)) (hypot.f64 1 (log.f64 base)) -1)
(+.f64 0 (pow.f64 (log.f64 base) 2))
(+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(+.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 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1)
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) 2) 1)
(*.f64 1 (pow.f64 (log.f64 base) 2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 1 (*.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) 1) (+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))
(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))))
(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 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(fma.f64 1 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) 2) (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) -1)
(fma.f64 (hypot.f64 1 (log.f64 base)) (hypot.f64 1 (log.f64 base)) -1)
(+.f64 0 (log.f64 (pow.f64 (pow.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 (log.f64 (pow.f64 (pow.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1)
(*.f64 1 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))
(*.f64 (cbrt.f64 (pow.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)) (cbrt.f64 (log.f64 (pow.f64 (pow.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 1 (log.f64 base)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (log.f64 (pow.f64 (pow.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))) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (pow.f64 (pow.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)
(pow.f64 (exp.f64 1) (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (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 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) 2)) (cbrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (sqrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) 2))))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4))
(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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(expm1.f64 (log1p.f64 (log.f64 (pow.f64 (pow.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(exp.f64 (*.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 (pow.f64 (pow.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 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re)))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 1) 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 (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
(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)
(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 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) 2)
(+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(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 (log.f64 base) 2)
(-.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1)
(pow.f64 (log.f64 base) 2)
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (log.f64 base) 2)
(*.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 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/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 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 1 (*.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 (pow.f64 (log.f64 base) 2) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3)) (+.f64 (pow.f64 (log.f64 base) 2) (+.f64 2 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (log.f64 base) (log.f64 base) 1) 3)) (+.f64 1 (*.f64 (fma.f64 (log.f64 base) (log.f64 base) 1) (fma.f64 (log.f64 base) (log.f64 base) 2))))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) 1) (+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))
(/.f64 (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) -1) (+.f64 (pow.f64 (log.f64 base) 2) 2))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2)) (fma.f64 (log.f64 base) (log.f64 base) 2))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (log.f64 base) (log.f64 base) 1) 2)) (fma.f64 (log.f64 base) (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 (exp.f64 2) (log.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 6) 1/3)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 3) 2/3)
(pow.f64 (log.f64 base) 2)
(pow.f64 (cbrt.f64 (log.f64 base)) 6)
(pow.f64 (log.f64 base) 2)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) 3)
(pow.f64 (log.f64 base) 2)
(pow.f64 (sqrt.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 2)
(pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (log.f64 base)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (log.f64 base) 2))) 2)) (cbrt.f64 (log.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (log.f64 base))))) (sqrt.f64 (*.f64 2 (log.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 (log.f64 base) 2)))) (sqrt.f64 (log.f64 (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)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (log.f64 base) 2)
(cbrt.f64 (pow.f64 (log.f64 base) 6))
(pow.f64 (log.f64 base) 2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 2 (log.f64 (log.f64 base))))
(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) 6)) 1/3))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2))) 3))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(pow.f64 (log.f64 base) 2)
(fma.f64 1 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(pow.f64 (log.f64 base) 2)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) 2) (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) -1)
(pow.f64 (log.f64 base) 2)
(fma.f64 (hypot.f64 1 (log.f64 base)) (hypot.f64 1 (log.f64 base)) -1)
(+.f64 0 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) 2)
(+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(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 (log.f64 base) 2)
(-.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1)
(pow.f64 (log.f64 base) 2)
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (log.f64 base) 2)
(*.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 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/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 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 1 (*.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) (+.f64 (pow.f64 (log.f64 base) 2) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 3)) (+.f64 (pow.f64 (log.f64 base) 2) (+.f64 2 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (log.f64 base) (log.f64 base) 1) 3)) (+.f64 1 (*.f64 (fma.f64 (log.f64 base) (log.f64 base) 1) (fma.f64 (log.f64 base) (log.f64 base) 2))))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) 1) (+.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 1))
(/.f64 (+.f64 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2) -1) (+.f64 (pow.f64 (log.f64 base) 2) 2))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1) 2)) (fma.f64 (log.f64 base) (log.f64 base) 2))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (log.f64 base) (log.f64 base) 1) 2)) (fma.f64 (log.f64 base) (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)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (log.f64 base) 2)
(cbrt.f64 (pow.f64 (log.f64 base) 6))
(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 (*.f64 2 (log.f64 (log.f64 base))))
(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) 6)) 1/3))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2))) 3))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(pow.f64 (log.f64 base) 2)
(fma.f64 1 (+.f64 (pow.f64 (log.f64 base) 2) 1) -1)
(pow.f64 (log.f64 base) 2)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) 2) (cbrt.f64 (+.f64 (pow.f64 (log.f64 base) 2) 1)) -1)
(pow.f64 (log.f64 base) 2)
(fma.f64 (hypot.f64 1 (log.f64 base)) (hypot.f64 1 (log.f64 base)) -1)
(+.f64 0 (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))
(+.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 (log.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))
(*.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 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (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))
(*.f64 (cbrt.f64 (pow.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 (pow.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 (pow.f64 (log.f64 base) -2) (*.f64 (cbrt.f64 (pow.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 (log.f64 (pow.f64 base (atan2.f64 im re))) 2)) (*.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (log.f64 (pow.f64 base (atan2.f64 im re))))))
(*.f64 (cbrt.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -2) (log.f64 (pow.f64 base (atan2.f64 im re))))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)) (cbrt.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -2) (log.f64 (pow.f64 base (atan2.f64 im re))))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.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 (*.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 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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (pow.f64 (log.f64 base) -2) (*.f64 (cbrt.f64 (pow.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 (log.f64 (pow.f64 base (atan2.f64 im re))) 2)) (*.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (log.f64 (pow.f64 base (atan2.f64 im re))))))
(*.f64 (/.f64 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (pow.f64 (log.f64 base) -2) (*.f64 (cbrt.f64 (pow.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 (log.f64 (pow.f64 base (atan2.f64 im re))) 2)) (*.f64 (pow.f64 (log.f64 base) -2) (cbrt.f64 (log.f64 (pow.f64 base (atan2.f64 im re))))))
(*.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 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (log.f64 base) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (*.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (/.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (atan2.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -2) (log.f64 (pow.f64 base (atan2.f64 im re))))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(/.f64 (cbrt.f64 (pow.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 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (cbrt.f64 (pow.f64 (log.f64 (pow.f64 base (atan2.f64 im re))) 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))) (cbrt.f64 (pow.f64 (log.f64 base) 2))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (log.f64 base) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (atan2.f64 im re))))
(/.f64 (*.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (atan2.f64 im re)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (/.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (pow.f64 (log.f64 base) 2))) (atan2.f64 im re))
(pow.f64 (log.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))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (log.f64 (pow.f64 (pow.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))
(pow.f64 (exp.f64 1) (log.f64 (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))
(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 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(pow.f64 (/.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) 2)) (cbrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (log.f64 base) -2) (log.f64 (pow.f64 base (atan2.f64 im re)))))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (log.f64 base) -2) (log.f64 (pow.f64 base (atan2.f64 im re)))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 2)) (cbrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (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 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))) (sqrt.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (log.f64 base) -2) (log.f64 (pow.f64 base (atan2.f64 im re))))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (log.f64 base) -2) (log.f64 (pow.f64 base (atan2.f64 im re)))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (sqrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4))
(/.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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6))
(/.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 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (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))
(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 (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))
(exp.f64 (*.f64 (log.f64 (log.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 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6)) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 (pow.f64 (pow.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 (log.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))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 (pow.f64 (pow.f64 base (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 1) 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 (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))

eval132.0ms (1.9%)

Compiler

Compiled 9311 to 3579 computations (61.6% saved)

prune148.0ms (2.2%)

Pruning

26 alts after pruning (22 fresh and 4 done)

PrunedKeptTotal
New60316619
Fresh12618
Picked101
Done145
Total61726643
Error
0b
Counts
643 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
35.6b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
33.5b
(pow.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1)
1.4b
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3) -1)
0.6b
(pow.f64 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)) -1)
32.8b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
12.1b
(pow.f64 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) -1)
33.9b
(pow.f64 (expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -1)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
1.3b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) 3))
1.8b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (cbrt.f64 (log.f64 base)) 6))
0.7b
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (log.f64 base))))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
32.2b
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) 3/2) 1/3)) (sqrt.f64 (log.f64 base)))
32.0b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
0.4b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
0.5b
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 base) (log.f64 base)))
0.6b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.4b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
32.4b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
32.0b
(*.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)))
29.8b
(*.f64 (atan2.f64 im re) (sqrt.f64 (pow.f64 (log.f64 base) -2)))
32.3b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
33.4b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.4b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
Compiler

Compiled 648 to 473 computations (27% saved)

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 12 computations (63.6% saved)

series8.0ms (0.1%)

Counts
3 → 56
Calls

21 calls:

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

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
906×pow1_binary64
832×add-log-exp_binary64
831×log1p-expm1-u_binary64
831×expm1-log1p-u_binary64
812×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01032
120227
2234027
Stop Event
node limit
Counts
3 → 40
Calls
Call 1
Inputs
(pow.f64 (log.f64 base) -2)
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
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 *.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 (cbrt.f64 (pow.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)) (cbrt.f64 (pow.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 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) -2) (pow.f64 (cbrt.f64 (log.f64 base)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -2) (pow.f64 (sqrt.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 (exp.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 (*.f64 -2 (log.f64 (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 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 (pow.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 (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 (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 -.f64 (+.f64 1 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 1)))) (#(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))) 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 sqrt.f64 (*.f64 (pow.f64 (log.f64 base) -2) (pow.f64 (atan2.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re)))))) (#(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 (pow.f64 (log.f64 base) -2) 3) (pow.f64 (*.f64 (log.f64 base) (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 (pow.f64 (log.f64 base) -2) 3)))))) (#(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)))))))))

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
657×distribute-rgt-in_binary64
618×distribute-lft-in_binary64
475×unswap-sqr_binary64
421×fma-def_binary64
401×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01191009
1261940
2852860
33208860
Stop Event
node limit
Counts
96 → 55
Calls
Call 1
Inputs
(/.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 -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 (+.f64 1 (pow.f64 (log.f64 base) -2)) 1)
(*.f64 (pow.f64 (log.f64 base) -2) 1)
(*.f64 1 (pow.f64 (log.f64 base) -2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (log.f64 base) -4)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -4)) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) -2) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -2) (pow.f64 (sqrt.f64 (log.f64 base)) -2))
(sqrt.f64 (pow.f64 (log.f64 base) -4))
(log.f64 (exp.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 (*.f64 -2 (log.f64 (log.f64 base))))
(-.f64 (+.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)
(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 (pow.f64 base (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)))
(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 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))
(exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(-.f64 (+.f64 1 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 1)
(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))) 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)
(sqrt.f64 (*.f64 (pow.f64 (log.f64 base) -2) (pow.f64 (atan2.f64 im re) 2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 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 (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)))))
Outputs
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 1 (pow.f64 (log.f64 (/.f64 1 base)) 2))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(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 (log.f64 base) 2))
(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 (log.f64 base) 2))
(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 (log.f64 base) 2))
(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 (log.f64 base) 2))
(pow.f64 (log.f64 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) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (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) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (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) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (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) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (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) (neg.f64 (neg.f64 (log.f64 base))))
(*.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) (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))
(-.f64 (+.f64 1 (pow.f64 (log.f64 base) -2)) 1)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 (pow.f64 (log.f64 base) -2) 1)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 1 (pow.f64 (log.f64 base) -2))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (log.f64 base) -4)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -4)) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (log.f64 base) -4)))
(*.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 base)))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) -2) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -2) (pow.f64 (sqrt.f64 (log.f64 base)) -2))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(sqrt.f64 (pow.f64 (log.f64 base) -4))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(log.f64 (exp.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 -2 (log.f64 (log.f64 base))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(-.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.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) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.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) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(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) (neg.f64 (neg.f64 (log.f64 base))))
(*.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) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(neg.f64 (*.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log1p.f64 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))
(log1p.f64 (+.f64 (pow.f64 base (atan2.f64 im re)) -1))
(log1p.f64 (+.f64 -1 (pow.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 (atan2.f64 im re) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(-.f64 (+.f64 1 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (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))) 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))
(sqrt.f64 (*.f64 (pow.f64 (log.f64 base) -2) (pow.f64 (atan2.f64 im re) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (pow.f64 (exp.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (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 (pow.f64 (log.f64 base) -2) 3) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 base)) 6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (pow.f64 (log.f64 base) -2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 base)) 6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 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))

localize11.0ms (0.2%)

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)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite42.0ms (0.6%)

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
0912
11809
222189
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(/.f64 1 (/.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))))))))

simplify41.0ms (0.6%)

Algorithm
egg-herbie
Rules
454×log-div_binary64
443×log-prod_binary64
325×fma-def_binary64
290×associate-/l*_binary64
221×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0111677
1270677
2811674
33944671
Stop Event
node limit
Counts
72 → 43
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 (+.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))))
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))
(-.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 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)) (/.f64 1 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (/.f64 1 (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 (/.f64 (log.f64 base) (atan2.f64 im re))) -2) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.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 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -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 (/.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))

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (log.f64 base))
0.1b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
0.6b
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
Compiler

Compiled 32 to 9 computations (71.9% saved)

series79.0ms (1.1%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
28.0ms
base
@0
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
16.0ms
base
@-inf
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
12.0ms
re
@0
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
12.0ms
base
@inf
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
6.0ms
im
@0
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))

rewrite46.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
718×pow1_binary64
654×add-log-exp_binary64
652×log1p-expm1-u_binary64
652×expm1-log1p-u_binary64
639×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify59.0ms (0.9%)

Algorithm
egg-herbie
Rules
729×fma-neg_binary64
594×unswap-sqr_binary64
424×fma-def_binary64
352×associate-/l*_binary64
274×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01601536
13271081
21269934
37846934
Stop Event
node limit
Counts
125 → 101
Calls
Call 1
Inputs
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(+.f64 1 (-.f64 (log.f64 base) 1))
(+.f64 0 (log.f64 base))
(+.f64 (log.f64 (cbrt.f64 (*.f64 base base))) (log.f64 (cbrt.f64 base)))
(+.f64 (log.f64 (sqrt.f64 base)) (log.f64 (sqrt.f64 base)))
(-.f64 (+.f64 1 (log.f64 base)) 1)
(*.f64 (log.f64 base) 1)
(*.f64 1 (log.f64 base))
(*.f64 (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)))
(*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) 1))
(/.f64 (sqrt.f64 (log.f64 base)) (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 (log.f64 base) -1)
(pow.f64 (pow.f64 (log.f64 base) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 base)) 3)
(pow.f64 (sqrt.f64 (log.f64 base)) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2)) (cbrt.f64 (log.f64 (log.f64 base))))
(pow.f64 (exp.f64 1) (log.f64 (log.f64 base)))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 base)))) (sqrt.f64 (log.f64 (log.f64 base))))
(pow.f64 (exp.f64 -1) (log.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (log.f64 base) 2))
(log.f64 base)
(cbrt.f64 (pow.f64 (log.f64 base) 3))
(expm1.f64 (log1p.f64 (log.f64 base)))
(log1p.f64 (-.f64 base 1))
(-.f64 (+.f64 1 (*.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)
(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 (pow.f64 base (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)))
(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 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))
(exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(+.f64 0 (log.f64 (log.f64 base)))
(+.f64 (log.f64 (sqrt.f64 (log.f64 base))) (log.f64 (sqrt.f64 (log.f64 base))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (log.f64 (cbrt.f64 (log.f64 base))))
(-.f64 0 (log.f64 (log.f64 base)))
(-.f64 (+.f64 1 (log.f64 (log.f64 base))) 1)
(*.f64 (log.f64 (log.f64 base)) 1)
(*.f64 (log.f64 (log.f64 base)) -1)
(*.f64 1 (log.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2) (cbrt.f64 (log.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2) (neg.f64 (cbrt.f64 (log.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 (log.f64 (log.f64 base))) (sqrt.f64 (log.f64 (log.f64 base))))
(*.f64 (sqrt.f64 (log.f64 (log.f64 base))) (neg.f64 (sqrt.f64 (log.f64 (log.f64 base)))))
(*.f64 -1 (log.f64 (log.f64 base)))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2)) (cbrt.f64 (log.f64 (log.f64 base))))
(*.f64 (neg.f64 (sqrt.f64 (log.f64 (log.f64 base)))) (sqrt.f64 (log.f64 (log.f64 base))))
(*.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2)) (cbrt.f64 (log.f64 (log.f64 base))))
(*.f64 (*.f64 -1 (sqrt.f64 (log.f64 (log.f64 base)))) (sqrt.f64 (log.f64 (log.f64 base))))
(/.f64 (-.f64 0 (pow.f64 (log.f64 (log.f64 base)) 3)) (+.f64 0 (+.f64 (pow.f64 (log.f64 (log.f64 base)) 2) (*.f64 0 (log.f64 (log.f64 base))))))
(/.f64 (-.f64 0 (pow.f64 (log.f64 (log.f64 base)) 2)) (log.f64 (log.f64 base)))
(pow.f64 (log.f64 (log.f64 base)) 1)
(pow.f64 (pow.f64 (log.f64 (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (log.f64 (log.f64 base))) 2)
(neg.f64 (log.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (log.f64 (log.f64 base)) 2))
(cbrt.f64 (pow.f64 (log.f64 (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (log.f64 (log.f64 base))))
(log1p.f64 (-.f64 (log.f64 base) 1))
(exp.f64 (log.f64 (log.f64 (log.f64 base))))
Outputs
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (*.f64 -1 (log.f64 (/.f64 1 base)))))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (exp.f64 (neg.f64 (log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))) (atan2.f64 im re))
(*.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(log.f64 (*.f64 -1 (log.f64 (/.f64 1 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(log.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(log.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(log.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(log.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(log.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(+.f64 1 (-.f64 (log.f64 base) 1))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(+.f64 0 (log.f64 base))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(+.f64 (log.f64 (cbrt.f64 (*.f64 base base))) (log.f64 (cbrt.f64 base)))
(+.f64 (log.f64 (sqrt.f64 base)) (log.f64 (sqrt.f64 base)))
(*.f64 2 (log.f64 (sqrt.f64 base)))
(*.f64 (log.f64 (sqrt.f64 base)) 2)
(-.f64 (+.f64 1 (log.f64 base)) 1)
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(*.f64 (log.f64 base) 1)
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(*.f64 1 (log.f64 base))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(*.f64 (cbrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (log.f64 base)))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base)))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (/.f64 (log.f64 base) 1))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(/.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base)))
1
(/.f64 -1 (neg.f64 (log.f64 base)))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (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)))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(pow.f64 (log.f64 base) 1)
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(pow.f64 (log.f64 base) -1)
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) 3) 1/3)
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(pow.f64 (cbrt.f64 (log.f64 base)) 3)
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(pow.f64 (sqrt.f64 (log.f64 base)) 2)
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2)) (cbrt.f64 (log.f64 (log.f64 base))))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(pow.f64 (exp.f64 1) (log.f64 (log.f64 base)))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 base)))) (sqrt.f64 (log.f64 (log.f64 base))))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(pow.f64 (exp.f64 -1) (log.f64 (log.f64 base)))
(exp.f64 (neg.f64 (log.f64 (neg.f64 (neg.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) 2))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(log.f64 base)
(+.f64 1 (+.f64 (log.f64 base) -1))
(cbrt.f64 (pow.f64 (log.f64 base) 3))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(expm1.f64 (log1p.f64 (log.f64 base)))
(+.f64 1 (+.f64 (log.f64 base) -1))
(log.f64 base)
(log1p.f64 (-.f64 base 1))
(log1p.f64 (+.f64 base -1))
(log1p.f64 (+.f64 -1 base))
(-.f64 (+.f64 1 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (exp.f64 (neg.f64 (log.f64 (log.f64 base)))) (atan2.f64 im re))
(/.f64 (*.f64 (atan2.f64 im re) 1) (log.f64 base))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1)
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3)
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(log.f64 (pow.f64 base (atan2.f64 im re)))
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(cbrt.f64 (*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3)))
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(log1p.f64 (-.f64 (pow.f64 base (atan2.f64 im re)) 1))
(log1p.f64 (+.f64 (pow.f64 base (atan2.f64 im re)) -1))
(log1p.f64 (+.f64 -1 (pow.f64 base (atan2.f64 im re))))
(exp.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(+.f64 1 (-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 1))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 0)
(log.f64 (pow.f64 base (atan2.f64 im re)))
(+.f64 0 (log.f64 (log.f64 base)))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(+.f64 (log.f64 (sqrt.f64 (log.f64 base))) (log.f64 (sqrt.f64 (log.f64 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (log.f64 (cbrt.f64 (log.f64 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(-.f64 0 (log.f64 (log.f64 base)))
(neg.f64 (log.f64 (log.f64 base)))
(-.f64 (+.f64 1 (log.f64 (log.f64 base))) 1)
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(*.f64 (log.f64 (log.f64 base)) 1)
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(*.f64 (log.f64 (log.f64 base)) -1)
(neg.f64 (log.f64 (log.f64 base)))
(*.f64 1 (log.f64 (log.f64 base)))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(*.f64 (cbrt.f64 (log.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2) (cbrt.f64 (log.f64 (log.f64 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2) (neg.f64 (cbrt.f64 (log.f64 (log.f64 base)))))
(neg.f64 (log.f64 (log.f64 base)))
(*.f64 (sqrt.f64 (log.f64 (log.f64 base))) (sqrt.f64 (log.f64 (log.f64 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(*.f64 (sqrt.f64 (log.f64 (log.f64 base))) (neg.f64 (sqrt.f64 (log.f64 (log.f64 base)))))
(neg.f64 (log.f64 (log.f64 base)))
(*.f64 -1 (log.f64 (log.f64 base)))
(neg.f64 (log.f64 (log.f64 base)))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2)) (cbrt.f64 (log.f64 (log.f64 base))))
(neg.f64 (log.f64 (log.f64 base)))
(*.f64 (neg.f64 (sqrt.f64 (log.f64 (log.f64 base)))) (sqrt.f64 (log.f64 (log.f64 base))))
(neg.f64 (log.f64 (log.f64 base)))
(*.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 2)) (cbrt.f64 (log.f64 (log.f64 base))))
(neg.f64 (log.f64 (log.f64 base)))
(*.f64 (*.f64 -1 (sqrt.f64 (log.f64 (log.f64 base)))) (sqrt.f64 (log.f64 (log.f64 base))))
(neg.f64 (log.f64 (log.f64 base)))
(/.f64 (-.f64 0 (pow.f64 (log.f64 (log.f64 base)) 3)) (+.f64 0 (+.f64 (pow.f64 (log.f64 (log.f64 base)) 2) (*.f64 0 (log.f64 (log.f64 base))))))
(neg.f64 (log.f64 (log.f64 base)))
(/.f64 (-.f64 0 (pow.f64 (log.f64 (log.f64 base)) 2)) (log.f64 (log.f64 base)))
(neg.f64 (log.f64 (log.f64 base)))
(pow.f64 (log.f64 (log.f64 base)) 1)
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 (log.f64 base)) 3) 1/3)
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(pow.f64 (cbrt.f64 (log.f64 (log.f64 base))) 3)
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(pow.f64 (sqrt.f64 (log.f64 (log.f64 base))) 2)
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(neg.f64 (log.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (log.f64 (log.f64 base)) 2))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(cbrt.f64 (pow.f64 (log.f64 (log.f64 base)) 3))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(expm1.f64 (log1p.f64 (log.f64 (log.f64 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(log1p.f64 (-.f64 (log.f64 base) 1))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))
(exp.f64 (log.f64 (log.f64 (log.f64 base))))
(log.f64 (neg.f64 (neg.f64 (log.f64 base))))
(log.f64 (log.f64 base))

localize16.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 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
9.4b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
Compiler

Compiled 37 to 14 computations (62.2% saved)

series24.0ms (0.3%)

Counts
2 → 72
Calls

18 calls:

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

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
973×pow1_binary64
910×add-log-exp_binary64
910×log1p-expm1-u_binary64
910×expm1-log1p-u_binary64
105×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
363×unswap-sqr_binary64
356×associate-/r/_binary64
314×associate-/l/_binary64
289×distribute-rgt-in_binary64
287×distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01851709
14141693
216201693
Stop Event
node limit
Counts
148 → 90
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 (*.f64 (cbrt.f64 -1) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (*.f64 (cbrt.f64 -1) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (*.f64 (cbrt.f64 -1) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (*.f64 (cbrt.f64 -1) (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 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(-.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 (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 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3))
(*.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 (pow.f64 (pow.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 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/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 (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))))
(/.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)))
(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))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) 1)
(*.f64 (atan2.f64 im re) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1)
(*.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 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3))
(*.f64 (pow.f64 (atan2.f64 im re) 3) (/.f64 1 (pow.f64 (log.f64 base) 3)))
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 3) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3)))
(/.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))
(/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(/.f64 (pow.f64 (neg.f64 (atan2.f64 im re)) 3) (pow.f64 (neg.f64 (log.f64 base)) 3))
(/.f64 (neg.f64 (pow.f64 (atan2.f64 im re) 3)) (neg.f64 (pow.f64 (log.f64 base) 3)))
(/.f64 (*.f64 (atan2.f64 im re) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (log.f64 base))
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (atan2.f64 im re)) (log.f64 base))
(/.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1) (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (neg.f64 (atan2.f64 im re))) (neg.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 6))
(log.f64 (exp.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))
(cbrt.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(exp.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
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 (*.f64 (cbrt.f64 -1) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base))))
(/.f64 (*.f64 (cbrt.f64 -1) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base))))
(/.f64 (*.f64 (cbrt.f64 -1) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base))))
(/.f64 (*.f64 (cbrt.f64 -1) (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (cbrt.f64 -1) (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (cbrt.f64 -1) (neg.f64 (log.f64 base))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 -1) (neg.f64 (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 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 -1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 (/.f64 1 base)) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 3))
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 3))
(-.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 (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 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3))
(/.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 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 1 1/3) (/.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)) 3/2) 1/3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2)) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/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 (/.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)) (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 (/.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 (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))
(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))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))) 1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (atan2.f64 im re) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 1 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (atan2.f64 im re) 3) (/.f64 1 (pow.f64 (log.f64 base) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) 3) (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) (pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1) (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(*.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 1 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (pow.f64 (neg.f64 (atan2.f64 im re)) 3) (pow.f64 (neg.f64 (log.f64 base)) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (neg.f64 (pow.f64 (atan2.f64 im re) 3)) (neg.f64 (pow.f64 (log.f64 base) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (*.f64 (atan2.f64 im re) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (atan2.f64 im re)) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1) (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(/.f64 (*.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) (neg.f64 (atan2.f64 im re))) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 6))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(log.f64 (exp.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(cbrt.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 3))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(expm1.f64 (log1p.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(log1p.f64 (expm1.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)
(exp.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (log.f64 base) (atan2.f64 im re))
0.5b
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3) -1)
0.6b
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)
3.8b
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
Compiler

Compiled 46 to 15 computations (67.4% saved)

series29.0ms (0.4%)

Counts
3 → 108
Calls

27 calls:

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

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
492×log-prod_binary64
380×exp-prod_binary64
318×prod-exp_binary64
278×pow-prod-down_binary64
274×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01232
125329
2274229
Stop Event
node limit
Counts
3 → 184
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.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))) 1)))) (#(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 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6))))) (#(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 1 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (cbrt.f64 (neg.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (log.f64 base))) (neg.f64 (cbrt.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.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/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.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)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) 3/2)))) (#(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 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.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/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) 1))))))
((#(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 (/.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 (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 (exp.f64 (log1p.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 (/.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))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))))) (#(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 (pow.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 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))))) (#(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 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 5/6))))) (#(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 (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 (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 (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 (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 (pow.f64 (atan2.f64 im re) -1/2) (/.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 *.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 5/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) 1) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 base) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.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 1 (/.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))))) (#(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 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (log.f64 base)) (neg.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (log.f64 base) 1) (atan2.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (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 (cbrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (cbrt.f64 (atan2.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (log.f64 base))) (cbrt.f64 (atan2.f64 im re)))))) (#(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 log.f64 (+.f64 1 (expm1.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 (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))))))) (#(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 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2))))) (#(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 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3) -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 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) 2))))) (#(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 (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 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (neg.f64 (log.f64 (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/3) (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 (atan2.f64 im re))) (*.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 (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))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.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 (/.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 (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 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -6) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(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)) (/.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 (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 (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 (log.f64 base)) (atan2.f64 im re))))) (#(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 (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 (log.f64 base) (atan2.f64 im re)) 1))))) (#(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 (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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.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 (log.f64 base) (atan2.f64 im re))))))) (#(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 1 (log.f64 base)) (/.f64 1 (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)) (cbrt.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 (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 (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 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3))))) (#(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 (*.f64 2 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -1/2))))) (#(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 (log.f64 base) (atan2.f64 im re))) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) -3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3) 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 (log.f64 base) (atan2.f64 im re))) -1/2) 2))))) (#(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/2) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.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 (log.f64 base) (atan2.f64 im re))) -1/2) (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2)))))))

simplify89.0ms (1.3%)

Algorithm
egg-herbie
Rules
777×fma-def_binary64
253×log-prod_binary64
248×unswap-sqr_binary64
213×exp-prod_binary64
210×sqr-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04314294970992
19633575
228803575
Stop Event
node limit
Counts
292 → 236
Calls
Call 1
Inputs
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (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 (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 0 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 1)
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(*.f64 1 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (/.f64 1 (atan2.f64 im re))))
(*.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6))
(/.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 1 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (cbrt.f64 (neg.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (cbrt.f64 (log.f64 base))) (neg.f64 (cbrt.f64 (atan2.f64 im re))))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1/3)
(pow.f64 (cbrt.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)) 2) 1/6)
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/9)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3)
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) 3/2)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) 2)
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2/3)
(pow.f64 (exp.f64 1/3) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(pow.f64 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(exp.f64 (*.f64 (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)))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) 1))
(+.f64 0 (/.f64 (log.f64 base) (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 (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 (exp.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1)
(*.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))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(*.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 5/6))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.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 (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 (pow.f64 (cbrt.f64 (atan2.f64 im re)) -2) (/.f64 (log.f64 base) (cbrt.f64 (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 (pow.f64 (atan2.f64 im re) -1/2) (/.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))))
(*.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 5/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) 1) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 -1 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 1 (/.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (neg.f64 (log.f64 base)) (neg.f64 (atan2.f64 im re)))
(/.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (atan2.f64 im re))))
(/.f64 (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(/.f64 (/.f64 (log.f64 base) 1) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (log.f64 base))) (cbrt.f64 (atan2.f64 im re)))
(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))))
(log.f64 (+.f64 1 (expm1.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 (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))))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) 2))
(exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (atan2.f64 im re))))
(exp.f64 (-.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 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (neg.f64 (log.f64 (atan2.f64 im re)))))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3)))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(exp.f64 (+.f64 (neg.f64 (log.f64 (atan2.f64 im re))) (*.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 (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))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2)))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.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 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.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 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -6) (cbrt.f64 (/.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 (/.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)) (/.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 (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 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 1 (neg.f64 (log.f64 base))) (neg.f64 (atan2.f64 im re)))
(/.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 (log.f64 base) (atan2.f64 im re)) 1))
(/.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 (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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.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 (/.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 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.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 (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 (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 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3))
(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 (*.f64 2 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -1/2))
(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 (log.f64 base) (atan2.f64 im re))) 1) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) -3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) -3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) 2))
(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/2) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(exp.f64 (-.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2)))
Outputs
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 (*.f64 1 (log.f64 (/.f64 1 base))) (atan2.f64 im re)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))) (cbrt.f64 -1))
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(cbrt.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(cbrt.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(cbrt.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(pow.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(cbrt.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 1 (/.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 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 1 (/.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 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 1 (/.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 (pow.f64 1 1/3) (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(*.f64 1 (/.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 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 1 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.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 1 (/.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 1 (/.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 1 (/.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 1 (/.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)) (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 0 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 1)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 1 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))))
(*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (/.f64 1 (atan2.f64 im re))))
(*.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 1 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (cbrt.f64 (neg.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (cbrt.f64 (log.f64 base))) (neg.f64 (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1/3)
(*.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))
(pow.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) 1/2)
(sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/6)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/9)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))) 3/2)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(/.f64 1 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) 2)
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2/3)
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(pow.f64 (exp.f64 1/3) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))) -1)
(*.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 3))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))) 3/2))
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))) 3/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1) 1/3))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) 1))
(cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) 1))
(cbrt.f64 (/.f64 (log.f64 base) (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 (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 (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 base) (atan2.f64 im re))
(-.f64 (exp.f64 (log1p.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 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (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))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 5/6))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (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))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (neg.f64 (log.f64 base)) (/.f64 1 (neg.f64 (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 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.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)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) -2) (/.f64 (log.f64 base) (cbrt.f64 (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 (/.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 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (atan2.f64 im re) -1/2) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (*.f64 (pow.f64 (atan2.f64 im re) -1/2) (log.f64 base)) (sqrt.f64 (atan2.f64 im re)))
(/.f64 (pow.f64 (atan2.f64 im re) -1/2) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.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))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 5/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6))
(*.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1/6) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 5/6))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) 1) (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) 2) (cbrt.f64 (cbrt.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 -1 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.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 1 (/.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (neg.f64 (log.f64 base)) (neg.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) 1) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (log.f64 base))) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -2)) (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base)))
(neg.f64 (/.f64 (log.f64 base) (neg.f64 (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))
(/.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 (+.f64 1 (expm1.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 (log.f64 base) 3) (pow.f64 (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))
(exp.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1/3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1) 1))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) 3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) 3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3) -1))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) -1))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) 2))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (-.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (neg.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (neg.f64 (log.f64 (atan2.f64 im re)))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(exp.f64 (fma.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(*.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3/2))
(exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(exp.f64 (fma.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(*.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3/2))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(exp.f64 (+.f64 (neg.f64 (log.f64 (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 (log.f64 base) (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 (*.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 (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 (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))) (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 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.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 (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 (/.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 (pow.f64 (cbrt.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))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -6) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -6))
(*.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 (log.f64 base)) -2) (atan2.f64 im re)) (cbrt.f64 (log.f64 base)))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(*.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 (pow.f64 (log.f64 base) -1/2) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.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 (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 (log.f64 base)) (atan2.f64 im re))
(/.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 (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 (log.f64 base) (atan2.f64 im re)) 1))
(/.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 (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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.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) (cbrt.f64 (/.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 (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 1 (log.f64 base)) (/.f64 1 (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)) (cbrt.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 (log.f64 base) (atan2.f64 im re)) -3))
(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 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3))
(/.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 (*.f64 2 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -1/2))
(/.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 (log.f64 base) (atan2.f64 im re))) 1) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1/3) -3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1) -3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -3) 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 (log.f64 base) (atan2.f64 im re))) -1/2) 2))
(/.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/2) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))))
(/.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1/2) (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(exp.f64 (-.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(exp.f64 (-.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 3/2 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1/2))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) (*.f64 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3/2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (neg.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 (log.f64 base) (atan2.f64 im re))) -1/2) (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(exp.f64 (-.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 3/2 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1/2))
(exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2)))
(exp.f64 (-.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (*.f64 3/2 (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1/2))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2) (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1/2)))
(/.f64 (atan2.f64 im re) (log.f64 base))

eval469.0ms (6.9%)

Compiler

Compiled 9317 to 3825 computations (58.9% saved)

prune209.0ms (3.1%)

Pruning

24 alts after pruning (16 fresh and 8 done)

PrunedKeptTotal
New6497656
Fresh8917
Picked101
Done088
Total65824682
Error
0b
Counts
682 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
35.6b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
32.8b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
33.5b
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -2)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
1.8b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (cbrt.f64 (log.f64 base)) 6))
0.7b
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (log.f64 base))))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
32.2b
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) 3/2) 1/3)) (sqrt.f64 (log.f64 base)))
32.0b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
0.4b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
1.4b
(/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3))
0.6b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.6b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
12.1b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
33.9b
(/.f64 1 (expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
0.4b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
32.0b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) -1/2) 2))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
29.8b
(*.f64 (atan2.f64 im re) (sqrt.f64 (pow.f64 (log.f64 base) -2)))
32.3b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
55.8b
(*.f64 (atan2.f64 im re) 1)
0.8b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3)) (*.f64 (log.f64 base) (atan2.f64 im re)))
33.4b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.4b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
Compiler

Compiled 520 to 381 computations (26.7% saved)

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 31 to 15 computations (51.6% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

15 calls:

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

rewrite74.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
965×pow1_binary64
885×add-log-exp_binary64
885×log1p-expm1-u_binary64
885×expm1-log1p-u_binary64
103×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01022
120616
2259916
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
(/.f64 1 (atan2.f64 im re))
Outputs
((#(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 1 (/.f64 (atan2.f64 im re) (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 (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 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (atan2.f64 im re)))))) (#(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 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (atan2.f64 im re)))))) (#(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 (/.f64 -1 (log.f64 base)) (/.f64 1 (/.f64 -1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) 1) (/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 1 (atan2.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (cbrt.f64 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 1 (cbrt.f64 (atan2.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (atan2.f64 im re) -1/2)) (/.f64 (/.f64 1 (log.f64 base)) (pow.f64 (atan2.f64 im re) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (atan2.f64 im re) -1/2)) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (atan2.f64 im re) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (log.f64 base)) -1) (neg.f64 (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 (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 (/.f64 1 (log.f64 base)) (/.f64 -1 (atan2.f64 im re))))))) (#(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 1 (log.f64 base)) 3) (pow.f64 (/.f64 1 (atan2.f64 im re)) 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 (exp.f64 (log1p.f64 (/.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 (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 log.f64 (+.f64 1 (expm1.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))))))))

simplify71.0ms (1%)

Algorithm
egg-herbie
Rules
615×unswap-sqr_binary64
591×fma-def_binary64
496×associate-/r*_binary64
483×associate-/l*_binary64
396×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0142964
1349929
21239923
37446923
Stop Event
node limit
Counts
92 → 69
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 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (atan2.f64 im re)))
(*.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 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (atan2.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 -1 (log.f64 base)) (/.f64 1 (/.f64 -1 (atan2.f64 im re))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 1 (atan2.f64 im re))))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) 1) (/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 1 (atan2.f64 im re))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (cbrt.f64 (atan2.f64 im re)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 1 (cbrt.f64 (atan2.f64 im re)))))
(*.f64 (/.f64 1 (pow.f64 (atan2.f64 im re) -1/2)) (/.f64 (/.f64 1 (log.f64 base)) (pow.f64 (atan2.f64 im re) -1/2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (atan2.f64 im re) -1/2)) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (atan2.f64 im re) -1/2)))
(*.f64 (/.f64 (/.f64 1 (log.f64 base)) -1) (neg.f64 (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 (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 (/.f64 1 (log.f64 base)) (/.f64 -1 (atan2.f64 im re))))
(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 1 (log.f64 base)) 3) (pow.f64 (/.f64 1 (atan2.f64 im re)) 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 (exp.f64 (log1p.f64 (/.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 (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))))
(log.f64 (+.f64 1 (expm1.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
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (exp.f64 (log1p.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 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.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 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (*.f64 1 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (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 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (atan2.f64 im re)))
(/.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 (/.f64 -1 (log.f64 base)) (/.f64 1 (/.f64 -1 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 1 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (*.f64 1 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) 1) (/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 1 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (cbrt.f64 (atan2.f64 im re)))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (*.f64 (/.f64 (/.f64 1 (log.f64 base)) 1) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (cbrt.f64 (atan2.f64 im re)) (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (log.f64 base)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (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))) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (/.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 1 (cbrt.f64 (atan2.f64 im re)))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (*.f64 (/.f64 (/.f64 1 (log.f64 base)) 1) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (pow.f64 (atan2.f64 im re) -2))) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (cbrt.f64 (atan2.f64 im re)) (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) -2)) (log.f64 base)))
(*.f64 (/.f64 1 (pow.f64 (atan2.f64 im re) -1/2)) (/.f64 (/.f64 1 (log.f64 base)) (pow.f64 (atan2.f64 im re) -1/2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (atan2.f64 im re) -1/2)) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (atan2.f64 im re) -1/2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (*.f64 1 (atan2.f64 im re)) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (/.f64 1 (log.f64 base)) -1) (neg.f64 (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 (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 (/.f64 1 (log.f64 base)) (/.f64 -1 (atan2.f64 im re))))
(/.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 1 (log.f64 base)) 3) (pow.f64 (/.f64 1 (atan2.f64 im re)) 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 (exp.f64 (log1p.f64 (/.f64 1 (atan2.f64 im re)))) 1)
(/.f64 1 (atan2.f64 im re))
(*.f64 1 (/.f64 1 (atan2.f64 im re)))
(/.f64 1 (atan2.f64 im re))
(*.f64 (/.f64 1 (atan2.f64 im re)) 1)
(/.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 (atan2.f64 im re))
(*.f64 -1 (/.f64 -1 (atan2.f64 im re)))
(/.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 (atan2.f64 im re))
(*.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1) (pow.f64 (sqrt.f64 (atan2.f64 im re)) -1))
(/.f64 1 (atan2.f64 im re))
(pow.f64 (atan2.f64 im re) -1)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (/.f64 1 (atan2.f64 im re)) 1)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3) 1/3)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (/.f64 1 (cbrt.f64 (atan2.f64 im re))) 3)
(/.f64 1 (atan2.f64 im re))
(pow.f64 (pow.f64 (atan2.f64 im re) -1/2) 2)
(/.f64 1 (atan2.f64 im re))
(sqrt.f64 (pow.f64 (atan2.f64 im re) -2))
(/.f64 1 (atan2.f64 im re))
(log.f64 (exp.f64 (/.f64 1 (atan2.f64 im re))))
(/.f64 1 (atan2.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (atan2.f64 im re)))))
(/.f64 1 (atan2.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 1 (atan2.f64 im re)) 3))
(/.f64 1 (atan2.f64 im re))
(expm1.f64 (log1p.f64 (/.f64 1 (atan2.f64 im re))))
(/.f64 1 (atan2.f64 im re))
(log1p.f64 (expm1.f64 (/.f64 1 (atan2.f64 im re))))
(/.f64 1 (atan2.f64 im re))
(exp.f64 (neg.f64 (log.f64 (atan2.f64 im re))))
(/.f64 1 (atan2.f64 im re))

localize5.0ms (0.1%)

Compiler

Compiled 14 to 7 computations (50% saved)

localize47.0ms (0.7%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 12 computations (65.7% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite47.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
895×pow1_binary64
834×add-log-exp_binary64
834×log1p-expm1-u_binary64
834×expm1-log1p-u_binary64
812×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0109
12109
223319
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
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 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3))))) (#(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 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (/.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)) 3/2) 1/3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/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 (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 (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 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 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))))))))

simplify76.0ms (1.1%)

Algorithm
egg-herbie
Rules
544×times-frac_binary64
502×log-prod_binary64
436×fma-def_binary64
419×log-div_binary64
368×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0116885
1265868
2905868
35502856
Stop Event
node limit
Counts
80 → 57
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 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 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3))
(*.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 (pow.f64 (pow.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 1 1/3) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/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 (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 (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)))
(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))))
(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 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (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 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3))
(*.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 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -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 (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 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/3) (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 (atan2.f64 im re) (log.f64 base)) 2)))
(*.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 (pow.f64 1 1/3) (/.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)) 3/2) 1/3) (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2)) (cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2)))
(pow.f64 (pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3/2) 1/6) 4)
(*.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 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.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 (/.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 (atan2.f64 im re) (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) 2)))
(*.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 (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 (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 (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))
(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))

localize33.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (log.f64 base) -1/2)
0.1b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) -1/2) 2))
0.3b
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2)
Compiler

Compiled 33 to 18 computations (45.5% saved)

series21.0ms (0.3%)

Counts
3 → 60
Calls

15 calls:

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

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
930×pow1_binary64
855×add-log-exp_binary64
855×log1p-expm1-u_binary64
855×expm1-log1p-u_binary64
834×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify48.0ms (0.7%)

Algorithm
egg-herbie
Rules
551×distribute-rgt-in_binary64
536×distribute-lft-in_binary64
471×associate-/l*_binary64
351×log-prod_binary64
349×associate-*l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01331015
12631015
2750966
32329963
Stop Event
node limit
Counts
109 → 66
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 -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)))))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(*.f64 1 (/.f64 1 (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/4) (*.f64 (pow.f64 (log.f64 base) -1/4) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/4)) (pow.f64 (log.f64 base) -1/4))
(*.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 (*.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (/.f64 1 (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(/.f64 1 (log.f64 base))
(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 (*.f64 (log.f64 (log.f64 base)) -1))
(-.f64 (+.f64 1 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))) 1)
(pow.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re)) 1)
(pow.f64 (pow.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))) 3)
(pow.f64 (*.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (atan2.f64 im re))) 2)
(sqrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (log.f64 base) -2)))
(log.f64 (pow.f64 (exp.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re)) 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 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))
(exp.f64 (log.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))
(-.f64 (+.f64 1 (pow.f64 (log.f64 base) -1/2)) 1)
(*.f64 (pow.f64 (log.f64 base) -1/2) 1)
(*.f64 1 (pow.f64 (log.f64 base) -1/2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(*.f64 (pow.f64 (log.f64 base) -1/4) (pow.f64 (log.f64 base) -1/4))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (sqrt.f64 (cbrt.f64 (/.f64 1 (log.f64 base)))))
(*.f64 (pow.f64 1 -1/2) (pow.f64 (log.f64 base) -1/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1/2) (pow.f64 (cbrt.f64 (log.f64 base)) -1/2))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1/2) (pow.f64 (sqrt.f64 (log.f64 base)) -1/2))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(fabs.f64 (pow.f64 (log.f64 base) -1/2))
(log.f64 (exp.f64 (pow.f64 (log.f64 base) -1/2)))
(cbrt.f64 (pow.f64 (log.f64 base) -3/2))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -1/2)))
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -1/2)))
(exp.f64 (*.f64 -1/2 (log.f64 (log.f64 base))))
Outputs
(/.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 (log.f64 base))
(/.f64 1 (+.f64 (log.f64 -1) (*.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 (log.f64 base))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 -1 (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 -1 (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 -1 (log.f64 base))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 -1 (log.f64 base))))
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(sqrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (log.f64 base))
(*.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 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (pow.f64 (log.f64 base) -1/2)))
(*.f64 (*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2))) (pow.f64 (log.f64 base) -1/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (pow.f64 (log.f64 base) -1/4) (*.f64 (pow.f64 (log.f64 base) -1/4) (pow.f64 (log.f64 base) -1/2)))
(/.f64 1 (log.f64 base))
(*.f64 (*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/4)) (pow.f64 (log.f64 base) -1/4))
(/.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 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (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 (*.f64 (pow.f64 (log.f64 base) -1/2) (cbrt.f64 (/.f64 1 (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(*.f64 (*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2))) (pow.f64 (log.f64 base) -1/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -1/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))
(cbrt.f64 (pow.f64 (/.f64 1 (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 (*.f64 (log.f64 (log.f64 base)) -1))
(/.f64 1 (log.f64 base))
(-.f64 (+.f64 1 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (*.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (atan2.f64 im re))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2) (pow.f64 (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))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re)) 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 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (+.f64 1 (pow.f64 (log.f64 base) -1/2)) 1)
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(*.f64 (pow.f64 (log.f64 base) -1/2) 1)
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(*.f64 1 (pow.f64 (log.f64 base) -1/2))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(*.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(*.f64 (pow.f64 (log.f64 base) -1/4) (pow.f64 (log.f64 base) -1/4))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (sqrt.f64 (cbrt.f64 (/.f64 1 (log.f64 base)))))
(*.f64 (pow.f64 1 -1/2) (pow.f64 (log.f64 base) -1/2))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1/2) (pow.f64 (cbrt.f64 (log.f64 base)) -1/2))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1/2) (pow.f64 (sqrt.f64 (log.f64 base)) -1/2))
(/.f64 1 (sqrt.f64 (log.f64 base)))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(fabs.f64 (pow.f64 (log.f64 base) -1/2))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(log.f64 (exp.f64 (pow.f64 (log.f64 base) -1/2)))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(cbrt.f64 (pow.f64 (log.f64 base) -3/2))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -1/2)))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -1/2)))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)
(exp.f64 (*.f64 -1/2 (log.f64 (log.f64 base))))
(sqrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -1/2)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (cbrt.f64 (log.f64 base)) 6))
0.4b
(fma.f64 (atan2.f64 im re) (log.f64 base) 0)
0.5b
(cbrt.f64 (log.f64 base))
1.1b
(pow.f64 (cbrt.f64 (log.f64 base)) 6)
Compiler

Compiled 41 to 17 computations (58.5% saved)

series15.0ms (0.2%)

Counts
3 → 60
Calls

15 calls:

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

rewrite65.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
497×log-prod_binary64
386×exp-prod_binary64
320×prod-exp_binary64
279×pow2_binary64
265×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01233
124028
2280728
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (log.f64 base)) 6)
(cbrt.f64 (log.f64 base))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (cbrt.f64 (log.f64 base)) 6))
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 (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 (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 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4))))) (#(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 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 12) (pow.f64 (cbrt.f64 (log.f64 base)) 2))))) (#(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 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))))) (#(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 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 (log.f64 base)) 2))))) (#(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/3 (log.f64 (log.f64 base))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) 6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) 6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (log.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (*.f64 (log.f64 (log.f64 base)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))))))
((#(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 (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 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (cbrt.f64 (cbrt.f64 (log.f64 base))))))) (#(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 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 (log.f64 base) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 base) 3) 1/9)))) (#(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 (sqrt.f64 (log.f64 base)) 2/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 pow.f64 (exp.f64 1/3) (log.f64 (log.f64 base)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (log.f64 base))))) (sqrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2))))) (#(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 exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (log.f64 base))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) 1))))))
((#(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 (cbrt.f64 (pow.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))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (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 (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 (cbrt.f64 (pow.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 (pow.f64 (cbrt.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 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (pow.f64 (cbrt.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))) (pow.f64 (cbrt.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 *.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 (cbrt.f64 (pow.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 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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6) 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 pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (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 (/.f64 (pow.f64 (log.f64 base) 2) (*.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 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 2)) (cbrt.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 pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) (sqrt.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 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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4))))) (#(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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6))))) (#(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 (*.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 (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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6)) 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 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re)))) -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 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) (log.f64 (pow.f64 (log.f64 base) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)))))))

simplify76.0ms (1.1%)

Algorithm
egg-herbie
Rules
576×fma-neg_binary64
555×fma-def_binary64
298×distribute-rgt-in_binary64
284×distribute-lft-in_binary64
233×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03154294969204
17161808
220271769
374291769
Stop Event
node limit
Counts
184 → 164
Calls
Call 1
Inputs
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2))
(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)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (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 (exp.f64 (log1p.f64 (pow.f64 (log.f64 base) 2))) 1)
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) 2) 1)
(*.f64 1 (pow.f64 (log.f64 base) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 12) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (pow.f64 (log.f64 base) 3/2) (sqrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(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))))
(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 (log.f64 base)) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) 6)) 1/3))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (log.f64 base))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) 6))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) 6))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (log.f64 (log.f64 base))))
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(+.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 (cbrt.f64 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) 1/6) (pow.f64 (log.f64 base) 1/6))
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (cbrt.f64 (log.f64 base)) 1)
(pow.f64 (pow.f64 (log.f64 base) 2) 1/6)
(pow.f64 (pow.f64 (log.f64 base) 3) 1/9)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (log.f64 base)) 2/3)
(pow.f64 (pow.f64 (log.f64 base) 1/6) 2)
(pow.f64 (exp.f64 1/3) (log.f64 (log.f64 base)))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (log.f64 base))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (log.f64 base))))) (sqrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))))
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(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))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (log.f64 base))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) 1))
(+.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 (cbrt.f64 (pow.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))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)) (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 (cbrt.f64 (pow.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 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (pow.f64 (cbrt.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))) (pow.f64 (cbrt.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 (log.f64 base)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (cbrt.f64 (pow.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)))
(pow.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)) 1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6) 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)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (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 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) 2))))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4))
(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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6))
(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 (*.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 (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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6)) 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 (log.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re)))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) 1) 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 (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) (log.f64 (pow.f64 (log.f64 base) -2))))
(exp.f64 (+.f64 (log.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)))
Outputs
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (log.f64 base) 2) (pow.f64 1 1/3))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (log.f64 (/.f64 1 base)) 2))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 1 1/3) (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))
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(*.f64 (pow.f64 1 1/3) (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))
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(*.f64 (pow.f64 1 1/3) (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))
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(*.f64 (pow.f64 1 1/3) (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))
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(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))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (pow.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 (cbrt.f64 (pow.f64 base (log.f64 base)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))) (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))))
(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 (log.f64 base) (log.f64 base))
(pow.f64 (log.f64 base) 2)
(*.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 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(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 (log.f64 base) 2)
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 12) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(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 (pow.f64 (cbrt.f64 (log.f64 base)) 5) (cbrt.f64 (log.f64 base)))
(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)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (log.f64 base) 2)
(cbrt.f64 (pow.f64 (log.f64 base) 6))
(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 (*.f64 2 (log.f64 (log.f64 base))))
(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 (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 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (log.f64 base))) 3))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 2))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) 2))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) 6))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) 6))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1) 1))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (log.f64 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (log.f64 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (log.f64 base)) 1)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (log.f64 base)) 1)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (*.f64 (log.f64 (log.f64 base)) 1)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (log.f64 (log.f64 base)) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (log.f64 base)) 1) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(pow.f64 (log.f64 base) 2)
(+.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 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 (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 (cbrt.f64 (cbrt.f64 (log.f64 base))) 2) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(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))
(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 (log.f64 base) 2) 1/6)
(cbrt.f64 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) 3) 1/9)
(*.f64 (pow.f64 (pow.f64 (log.f64 base) 3) 1/18) (pow.f64 (pow.f64 (log.f64 base) 3) 1/18))
(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 (sqrt.f64 (log.f64 base)) 2/3)
(*.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) (cbrt.f64 (sqrt.f64 (log.f64 base))))
(pow.f64 (pow.f64 (log.f64 base) 1/6) 2)
(cbrt.f64 (log.f64 base))
(pow.f64 (exp.f64 1/3) (log.f64 (log.f64 base)))
(cbrt.f64 (log.f64 base))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (log.f64 base))))) (sqrt.f64 (log.f64 (cbrt.f64 (log.f64 base)))))
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(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))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 3))
(cbrt.f64 (log.f64 base))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (log.f64 base))) 2))
(cbrt.f64 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 1/3))
(cbrt.f64 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) 1/3))
(cbrt.f64 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) 1))
(cbrt.f64 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) 1))
(cbrt.f64 (log.f64 base))
(+.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 (cbrt.f64 (pow.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 (pow.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 (pow.f64 (log.f64 base) -2) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (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)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4)))
(*.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 (*.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (/.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 (pow.f64 (cbrt.f64 (log.f64 base)) 4)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (pow.f64 (cbrt.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 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(*.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4)))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (/.f64 (pow.f64 (cbrt.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))) (pow.f64 (cbrt.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 (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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)))
(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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6) 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))
(pow.f64 (exp.f64 1) (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))
(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 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(cbrt.f64 (*.f64 1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))))
(pow.f64 (/.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.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 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))) 2)) (cbrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (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 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))))) (sqrt.f64 (log.f64 (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))) (sqrt.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 4))
(/.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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6))
(/.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 1 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))))
(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 (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 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 6)) 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 (log.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))
(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))
(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) (log.f64 (pow.f64 (log.f64 base) -2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (log.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))

eval162.0ms (2.4%)

Compiler

Compiled 7524 to 3322 computations (55.8% saved)

prune134.0ms (2%)

Pruning

23 alts after pruning (12 fresh and 11 done)

PrunedKeptTotal
New4934497
Fresh3811
Picked101
Done11112
Total49823521
Error
0b
Counts
521 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
35.6b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
32.8b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
33.5b
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -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))
32.5b
(/.f64 (/.f64 1 (log.f64 base)) (pow.f64 (pow.f64 (atan2.f64 im re) -1/2) 2))
0.4b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
9.3b
(/.f64 (/.f64 1 (log.f64 base)) (expm1.f64 (log1p.f64 (/.f64 1 (atan2.f64 im re)))))
1.4b
(/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3))
0.6b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.6b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
12.1b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
33.9b
(/.f64 1 (expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
0.4b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
32.0b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) -1/2) 2))
32.0b
(*.f64 (atan2.f64 im re) (pow.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) 2))
32.0b
(*.f64 (atan2.f64 im re) (pow.f64 (sqrt.f64 (log.f64 base)) -2))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
29.8b
(*.f64 (atan2.f64 im re) (sqrt.f64 (pow.f64 (log.f64 base) -2)))
32.3b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
55.8b
(*.f64 (atan2.f64 im re) 1)
33.4b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.4b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
Compiler

Compiled 284 to 214 computations (24.6% saved)

regimes214.0ms (3.1%)

Accuracy

Total -62.2b remaining (-20155.7%)

Threshold costs -62.2b (-20155.7%)

Counts
53 → 1
Calls
Call 1
Inputs
(*.f64 (atan2.f64 im re) 1)
(/.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 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
(pow.f64 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)) -1)
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(expm1.f64 (log1p.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) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
(*.f64 (atan2.f64 im re) (sqrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (atan2.f64 im re) (pow.f64 (sqrt.f64 (log.f64 base)) -2))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -2)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) -1/2) 2))
(/.f64 1 (expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(pow.f64 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) -1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(*.f64 (atan2.f64 im re) (pow.f64 (sqrt.f64 (/.f64 1 (log.f64 base))) 2))
(*.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 1 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3))
(*.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 1 (log.f64 base)) (expm1.f64 (log1p.f64 (/.f64 1 (atan2.f64 im re)))))
(/.f64 (/.f64 1 (log.f64 base)) (pow.f64 (pow.f64 (atan2.f64 im re) -1/2) 2))
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) -1)
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3) -1)
(pow.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1)
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (log.f64 base))))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (sqrt.f64 (pow.f64 (log.f64 base) 4)))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (cbrt.f64 (log.f64 base)) 6))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) 3/2) 1/3)) (sqrt.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 (pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) (*.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) (expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2))))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (cbrt.f64 (pow.f64 (pow.f64 (log.f64 base) 2) 3)))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) 3))
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (pow.f64 (pow.f64 (cbrt.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 (*.f64 (*.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base))) (*.f64 (log.f64 base) (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 (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)))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
Calls

5 calls:

68.0ms
base
44.0ms
re
38.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)))
26.0ms
(log.f64 base)
22.0ms
im
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 684 to 290 computations (57.6% saved)

simplify19.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
*-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 15 to 10 computations (33.3% saved)

soundness152.0ms (2.2%)

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)

end37.0ms (0.5%)

Compiler

Compiled 12 to 6 computations (50% saved)

Profiling

Loading profile data...