Details

Time bar (total: 6.7s)

analyze241.0ms (3.6%)

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.1s (31.2%)

Results
1.6s8256×body256valid
448.0ms2084×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.4b
(/.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)

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

series90.0ms (1.3%)

Counts
1 → 8
Calls

9 calls:

TimeVariablePointExpression
39.0ms
base
@-inf
(/.f64 (atan2.f64 im re) (log.f64 base))
20.0ms
im
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
14.0ms
base
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
9.0ms
re
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
6.0ms
base
@inf
(/.f64 (atan2.f64 im re) (log.f64 base))

rewrite41.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

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

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 12 computations (67.6% saved)

series10.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

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

rewrite76.0ms (1.1%)

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

simplify64.0ms (0.9%)

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

eval25.0ms (0.4%)

Compiler

Compiled 1988 to 704 computations (64.6% saved)

prune70.0ms (1%)

Pruning

22 alts after pruning (21 fresh and 1 done)

PrunedKeptTotal
New11121132
Fresh000
Picked101
Done011
Total11222134
Error
0b
Counts
134 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
35.0b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
30.8b
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (log.f64 base)) 2)
1.0b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
30.8b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.4b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
1.6b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (exp.f64 (log.f64 (pow.f64 (log.f64 base) 2))))
30.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))
33.5b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
0.4b
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 base) (log.f64 base)))
1.1b
(/.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)))
26.0b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 base) (log.f64 base)))
6.4b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (*.f64 (log.f64 base) (log.f64 base)))
14.5b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
0.4b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
1.7b
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
0.3b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
29.5b
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (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.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
0.5b
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
31.5b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Compiler

Compiled 631 to 418 computations (33.8% saved)

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 36 to 21 computations (41.7% saved)

series44.0ms (0.6%)

Counts
2 → 16
Calls

12 calls:

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

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
845×pow1_binary64
775×add-log-exp_binary64
775×log1p-expm1-u_binary64
775×expm1-log1p-u_binary64
757×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify51.0ms (0.8%)

Algorithm
egg-herbie
Rules
585×log-div_binary64
557×associate-/r*_binary64
542×associate-/l*_binary64
404×fma-neg_binary64
363×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0137689
1319689
21319689
37374689
Stop Event
node limit
Counts
72 → 66
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(-.f64 (+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 1)
(*.f64 (atan2.f64 im re) (/.f64 -1 (log.f64 base)))
(*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2) (cbrt.f64 (/.f64 (neg.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 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (sqrt.f64 (/.f64 (neg.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 (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)) (neg.f64 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (neg.f64 (log.f64 base)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2)) (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (neg.f64 (log.f64 base)))))
(*.f64 (/.f64 1 (sqrt.f64 (neg.f64 (log.f64 base)))) (/.f64 (atan2.f64 im re) (sqrt.f64 (neg.f64 (log.f64 base)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (neg.f64 (log.f64 base)))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (neg.f64 (log.f64 base)))))
(pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2)
(pow.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)) -1)
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(sqrt.f64 (pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (neg.f64 (log.f64 base)) 3)))
(expm1.f64 (log1p.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(+.f64 0 (neg.f64 (log.f64 base)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 base -2))) (log.f64 (cbrt.f64 (/.f64 1 base))))
(+.f64 (log.f64 (pow.f64 base -1/2)) (log.f64 (pow.f64 base -1/2)))
(-.f64 0 (log.f64 base))
(-.f64 (+.f64 1 (neg.f64 (log.f64 base))) 1)
(-.f64 (log.f64 -1) (log.f64 (neg.f64 base)))
(*.f64 1 (neg.f64 (log.f64 base)))
(*.f64 (neg.f64 (log.f64 base)) 1)
(*.f64 (log.f64 base) -1)
(*.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2))
(*.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2) (cbrt.f64 (neg.f64 (log.f64 base))))
(*.f64 (sqrt.f64 (neg.f64 (log.f64 base))) (sqrt.f64 (neg.f64 (log.f64 base))))
(*.f64 -1 (log.f64 base))
(/.f64 (-.f64 0 (pow.f64 (log.f64 base) 3)) (+.f64 0 (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 (log.f64 base)))))
(/.f64 (-.f64 0 (*.f64 (log.f64 base) (log.f64 base))) (log.f64 base))
(pow.f64 (neg.f64 (log.f64 base)) 1)
(pow.f64 (pow.f64 (neg.f64 (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (neg.f64 (log.f64 base))) 2)
(neg.f64 (log.f64 base))
(sqrt.f64 (*.f64 (log.f64 base) (log.f64 base)))
(cbrt.f64 (pow.f64 (neg.f64 (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (neg.f64 (log.f64 base))))
(log1p.f64 (-.f64 (/.f64 1 base) 1))
(exp.f64 (log.f64 (neg.f64 (log.f64 base))))
Outputs
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1)))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(-.f64 (+.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 1)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (atan2.f64 im re) (/.f64 -1 (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2) (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (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)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (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)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 -1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (neg.f64 (log.f64 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2)) (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2)))
(/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (/.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.f64 (neg.f64 (log.f64 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 1 (sqrt.f64 (neg.f64 (log.f64 base)))) (/.f64 (atan2.f64 im re) (sqrt.f64 (neg.f64 (log.f64 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (sqrt.f64 (neg.f64 (log.f64 base)))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (neg.f64 (log.f64 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 1)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(pow.f64 (pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 3) 1/3)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 3)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(pow.f64 (sqrt.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)) -1)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 2))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(log.f64 (exp.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(cbrt.f64 (pow.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) 3))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (neg.f64 (log.f64 base)) 3)))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(expm1.f64 (log1p.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(log1p.f64 (expm1.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(exp.f64 (log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(+.f64 0 (neg.f64 (log.f64 base)))
(neg.f64 (log.f64 base))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 base -2))) (log.f64 (cbrt.f64 (/.f64 1 base))))
(+.f64 (log.f64 (pow.f64 base -1/2)) (log.f64 (pow.f64 base -1/2)))
(neg.f64 (log.f64 base))
(-.f64 0 (log.f64 base))
(neg.f64 (log.f64 base))
(-.f64 (+.f64 1 (neg.f64 (log.f64 base))) 1)
(neg.f64 (log.f64 base))
(-.f64 (log.f64 -1) (log.f64 (neg.f64 base)))
(*.f64 1 (neg.f64 (log.f64 base)))
(neg.f64 (log.f64 base))
(*.f64 (neg.f64 (log.f64 base)) 1)
(neg.f64 (log.f64 base))
(*.f64 (log.f64 base) -1)
(neg.f64 (log.f64 base))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2))
(neg.f64 (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 2) (cbrt.f64 (neg.f64 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 (sqrt.f64 (neg.f64 (log.f64 base))) (sqrt.f64 (neg.f64 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(/.f64 (-.f64 0 (pow.f64 (log.f64 base) 3)) (+.f64 0 (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 (log.f64 base)))))
(neg.f64 (log.f64 base))
(/.f64 (-.f64 0 (*.f64 (log.f64 base) (log.f64 base))) (log.f64 base))
(neg.f64 (log.f64 base))
(pow.f64 (neg.f64 (log.f64 base)) 1)
(neg.f64 (log.f64 base))
(pow.f64 (pow.f64 (neg.f64 (log.f64 base)) 3) 1/3)
(neg.f64 (log.f64 base))
(pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 3)
(neg.f64 (log.f64 base))
(pow.f64 (sqrt.f64 (neg.f64 (log.f64 base))) 2)
(neg.f64 (log.f64 base))
(neg.f64 (log.f64 base))
(sqrt.f64 (*.f64 (log.f64 base) (log.f64 base)))
(fabs.f64 (log.f64 base))
(cbrt.f64 (pow.f64 (neg.f64 (log.f64 base)) 3))
(neg.f64 (log.f64 base))
(expm1.f64 (log1p.f64 (neg.f64 (log.f64 base))))
(neg.f64 (log.f64 base))
(log1p.f64 (-.f64 (/.f64 1 base) 1))
(log1p.f64 (+.f64 (/.f64 1 base) -1))
(log1p.f64 (+.f64 -1 (/.f64 1 base)))
(exp.f64 (log.f64 (neg.f64 (log.f64 base))))
(neg.f64 (log.f64 base))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (log.f64 base))
0.3b
(*.f64 (atan2.f64 im re) (/.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))
0.0ms
base
@0
(/.f64 1 (log.f64 base))
0.0ms
im
@0
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.0ms
base
@-inf
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))

rewrite44.0ms (0.7%)

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 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 1 (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) (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 (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 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (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 expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (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))))))))

simplify48.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0115856
1251790
2771790
35435790
Stop Event
node limit
Counts
88 → 55
Calls
Call 1
Inputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 -1 (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 (+.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 (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 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) (pow.f64 (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 (+.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))))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 -1 (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 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 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 (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 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (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))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (+.f64 1 (/.f64 1 (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 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 -1 (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))

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 34 to 10 computations (70.6% saved)

series25.0ms (0.4%)

Counts
2 → 72
Calls

18 calls:

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

rewrite49.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify73.0ms (1.1%)

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

Useful iterations: 1 (0.0ms)

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

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 25 computations (56.1% saved)

series9.0ms (0.1%)

Counts
4 → 64
Calls

24 calls:

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

rewrite59.0ms (0.9%)

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

Useful iterations: 2 (0.0ms)

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

simplify61.0ms (0.9%)

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

Useful iterations: 2 (0.0ms)

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

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (log.f64 base) (atan2.f64 im re))
0.5b
(*.f64 (log.f64 base) (log.f64 base))
0.6b
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
6.5b
(cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
Compiler

Compiled 55 to 17 computations (69.1% saved)

series9.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite51.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
792×pow1_binary64
734×add-log-exp_binary64
734×log1p-expm1-u_binary64
734×expm1-log1p-u_binary64
714×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify52.0ms (0.8%)

Algorithm
egg-herbie
Rules
616×fma-def_binary64
365×exp-prod_binary64
349×fma-neg_binary64
348×cube-prod_binary64
308×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321370
12961370
210361370
333111370
Stop Event
node limit
Counts
126 → 65
Calls
Call 1
Inputs
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re)))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(-.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 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (cbrt.f64 (atan2.f64 im re)) (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))
(*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/3))
(*.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 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.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 (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/3) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) 1/3))
(*.f64 (*.f64 (log.f64 base) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))) (cbrt.f64 (atan2.f64 im re)))
(*.f64 (*.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(*.f64 (*.f64 (atan2.f64 im re) (cbrt.f64 (pow.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)))
(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)))
(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 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) 1)
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1)
(*.f64 1 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
(*.f64 (pow.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) (*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 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 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 3) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3) (pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (log.f64 base)) (atan2.f64 im re))
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (atan2.f64 im re)) (log.f64 base))
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (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 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(exp.f64 (*.f64 3 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
Outputs
(*.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 (log.f64 base) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (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 (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 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(-.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 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (cbrt.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 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (cbrt.f64 (log.f64 base))))
(*.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 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/3))
(*.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 (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 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.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))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1/3) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) 1/3))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (log.f64 base) (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 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (log.f64 base) (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (*.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(*.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)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 2)) (*.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.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) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(*.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 (pow.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))))
(*.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))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(-.f64 (+.f64 1 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) 1)
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 1)
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 1 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (*.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.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 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (*.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3/2))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2) 3) (*.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3) (pow.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (log.f64 base)) (atan2.f64 im re))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (atan2.f64 im re)) (log.f64 base))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) 1) (*.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) 2)) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(sqrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 6))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(log.f64 (exp.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) 3))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
(exp.f64 (*.f64 3 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)

eval145.0ms (2.1%)

Compiler

Compiled 8385 to 3405 computations (59.4% saved)

prune161.0ms (2.4%)

Pruning

25 alts after pruning (22 fresh and 3 done)

PrunedKeptTotal
New52116537
Fresh10616
Picked101
Done235
Total53425559
Error
0b
Counts
559 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
35.0b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
31.6b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3) 3)
30.8b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.4b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
1.0b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
14.5b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
0.4b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
33.9b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
1.2b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
0.3b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
5.3b
(*.f64 (atan2.f64 im re) (-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1))
30.9b
(*.f64 (atan2.f64 im re) (sqrt.f64 (pow.f64 (log.f64 base) -2)))
5.3b
(*.f64 (atan2.f64 im re) (log.f64 (exp.f64 (/.f64 1 (log.f64 base)))))
33.8b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
0.7b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.7b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (cbrt.f64 (pow.f64 (log.f64 base) 6)))))
0.5b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 -1 (pow.f64 (log.f64 base) 2)))
1.2b
(*.f64 -1 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (neg.f64 (log.f64 base))) 3)))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (/.f64 (-.f64 0 (*.f64 (log.f64 base) (log.f64 base))) (log.f64 base))))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
31.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (neg.f64 (log.f64 base))))))
31.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (exp.f64 (log.f64 (neg.f64 (log.f64 base))))))
0.5b
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
31.5b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Compiler

Compiled 643 to 478 computations (25.7% saved)

localize22.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 65 to 23 computations (64.6% saved)

series5.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite53.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
928×pow1_binary64
864×add-log-exp_binary64
863×log1p-expm1-u_binary64
863×expm1-log1p-u_binary64
123×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify44.0ms (0.7%)

Algorithm
egg-herbie
Rules
496×fma-def_binary64
391×distribute-rgt-in_binary64
362×distribute-lft-in_binary64
343×*-commutative_binary64
255×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01941182
14371147
219611113
Stop Event
node limit
Counts
132 → 109
Calls
Call 1
Inputs
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(log.f64 (/.f64 1 base))
(log.f64 (/.f64 1 base))
(log.f64 (/.f64 1 base))
(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 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -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 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 0 (log.f64 base))
(+.f64 (log.f64 (sqrt.f64 base)) (log.f64 (sqrt.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 base) 2)) (log.f64 (cbrt.f64 base)))
(-.f64 0 (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (log.f64 base))) 1)
(*.f64 (log.f64 base) 1)
(*.f64 (log.f64 base) (*.f64 (log.f64 base) (/.f64 1 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) 2) (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (/.f64 1 (log.f64 base))))
(*.f64 1 (log.f64 base))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.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 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (neg.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base)))
(*.f64 (sqrt.f64 (log.f64 base)) (neg.f64 (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (log.f64 base) 2))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 -1 (log.f64 base))
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (log.f64 base) 2) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (sqrt.f64 (log.f64 base))))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(*.f64 (neg.f64 (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 1)
(pow.f64 (pow.f64 (log.f64 base) 2) 1/2)
(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 (/.f64 1 (log.f64 base)) -1)
(neg.f64 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) 2))
(fabs.f64 (log.f64 base))
(log.f64 base)
(log.f64 (+.f64 1 (-.f64 base 1)))
(cbrt.f64 (pow.f64 (log.f64 base) 3))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 6) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (log.f64 base)))
(log1p.f64 (-.f64 base 1))
(exp.f64 (log.f64 (log.f64 base)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (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 (log.f64 base)))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (log.f64 base) 2)) (/.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (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 (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 (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 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.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 (atan2.f64 im re) 1) (/.f64 1 (log.f64 base)))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) 1) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (sqrt.f64 (log.f64 base))) (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) (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)))
(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 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(+.f64 0 (log.f64 base))
(log.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 (log.f64 (pow.f64 (cbrt.f64 base) 2)) (log.f64 (cbrt.f64 base)))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 base))) (log.f64 (cbrt.f64 base)))
(*.f64 3 (log.f64 (cbrt.f64 base)))
(*.f64 (log.f64 (cbrt.f64 base)) 3)
(-.f64 0 (log.f64 base))
(neg.f64 (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (log.f64 base))) 1)
(log.f64 base)
(*.f64 (log.f64 base) 1)
(log.f64 base)
(*.f64 (log.f64 base) (*.f64 (log.f64 base) (/.f64 1 (log.f64 base))))
(log.f64 base)
(*.f64 (pow.f64 (log.f64 base) 2) (/.f64 1 (log.f64 base)))
(log.f64 base)
(*.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (/.f64 1 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 1 (log.f64 base))
(log.f64 base)
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(log.f64 base)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (log.f64 base)))
(log.f64 base)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (neg.f64 (cbrt.f64 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base)))
(log.f64 base)
(*.f64 (sqrt.f64 (log.f64 base)) (neg.f64 (sqrt.f64 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (log.f64 base) 2))
(log.f64 base)
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (fabs.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (log.f64 base) (log.f64 base)))
(log.f64 base)
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (log.f64 base))))
(log.f64 base)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (log.f64 base))))
(log.f64 base)
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (log.f64 base) 2) (sqrt.f64 (log.f64 base))))
(log.f64 base)
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (sqrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (log.f64 base)))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(neg.f64 (log.f64 base))
(*.f64 (neg.f64 (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(neg.f64 (log.f64 base))
(pow.f64 (log.f64 base) 1)
(log.f64 base)
(pow.f64 (pow.f64 (log.f64 base) 2) 1/2)
(log.f64 base)
(pow.f64 (pow.f64 (log.f64 base) 3) 1/3)
(log.f64 base)
(pow.f64 (cbrt.f64 (log.f64 base)) 3)
(log.f64 base)
(pow.f64 (sqrt.f64 (log.f64 base)) 2)
(log.f64 base)
(pow.f64 (/.f64 1 (log.f64 base)) -1)
(log.f64 base)
(neg.f64 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) 2))
(log.f64 base)
(fabs.f64 (log.f64 base))
(log.f64 base)
(log.f64 base)
(log.f64 (+.f64 1 (-.f64 base 1)))
(log.f64 base)
(cbrt.f64 (pow.f64 (log.f64 base) 3))
(log.f64 base)
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 6) (pow.f64 (log.f64 base) 3)))
(log.f64 base)
(expm1.f64 (log1p.f64 (log.f64 base)))
(log.f64 base)
(log1p.f64 (-.f64 base 1))
(log.f64 base)
(exp.f64 (log.f64 (log.f64 base)))
(log.f64 base)
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(/.f64 (neg.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 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (log.f64 base) 2)) (/.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (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 (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 (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 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 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 (atan2.f64 im re) 1) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (sqrt.f64 (log.f64 base))) (sqrt.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))
(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) (log.f64 base)))
(/.f64 (neg.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))
(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))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (log.f64 base) (atan2.f64 im re))
0.9b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
Compiler

Compiled 26 to 9 computations (65.4% saved)

series7.0ms (0.1%)

Counts
2 → 44
Calls

18 calls:

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

rewrite65.0ms (1%)

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

Useful iterations: 1 (0.0ms)

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

simplify57.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

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

localize38.0ms (0.6%)

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.5b
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
Compiler

Compiled 32 to 9 computations (71.9% saved)

series61.0ms (0.9%)

Counts
3 → 52
Calls

15 calls:

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

rewrite63.0ms (0.9%)

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

simplify80.0ms (1.2%)

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

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 14 computations (62.2% saved)

series22.0ms (0.3%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
5.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
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)

rewrite79.0ms (1.2%)

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

simplify83.0ms (1.2%)

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)

localize12.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.5b
(pow.f64 (log.f64 base) -2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series25.0ms (0.4%)

Counts
2 → 48
Calls

12 calls:

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

rewrite60.0ms (0.9%)

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
01023
120218
2234018
Stop Event
node limit
Counts
2 → 27
Calls
Call 1
Inputs
(pow.f64 (log.f64 base) -2)
(*.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 (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)))))))))

simplify53.0ms (0.8%)

Algorithm
egg-herbie
Rules
681×distribute-rgt-in_binary64
669×distribute-lft-in_binary64
515×associate-*l*_binary64
463×associate-*r*_binary64
423×log-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
091675
1199450
2597450
33600450
Stop Event
node limit
Counts
75 → 34
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 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (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 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(-.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 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 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(*.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 1 (pow.f64 (log.f64 base) 2))
(pow.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 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 1)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 1)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3) 1/3)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(pow.f64 (cbrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 3)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(pow.f64 (sqrt.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))) 2)
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(sqrt.f64 (*.f64 (pow.f64 (log.f64 base) -2) (pow.f64 (atan2.f64 im re) 2)))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(log.f64 (pow.f64 (exp.f64 (/.f64 1 (log.f64 base))) (atan2.f64 im re)))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(cbrt.f64 (pow.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))) 3))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 base) -2) 3) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (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 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(log1p.f64 (expm1.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)
(exp.f64 (log.f64 (*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))))
(/.f64 1 (pow.f64 (log.f64 base) 2))
(pow.f64 (log.f64 base) -2)

eval143.0ms (2.1%)

Compiler

Compiled 6866 to 2961 computations (56.9% saved)

prune145.0ms (2.2%)

Pruning

25 alts after pruning (19 fresh and 6 done)

PrunedKeptTotal
New4976503
Fresh41317
Picked101
Done167
Total50325528
Error
0b
Counts
528 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
35.0b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
31.6b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3) 3)
30.8b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.4b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
32.9b
(/.f64 1 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))
1.0b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
1.0b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
11.7b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
6.6b
(/.f64 1 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3)))
14.5b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
33.9b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3))
1.2b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
0.3b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
5.3b
(*.f64 (atan2.f64 im re) (-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1))
30.9b
(*.f64 (atan2.f64 im re) (sqrt.f64 (pow.f64 (log.f64 base) -2)))
5.3b
(*.f64 (atan2.f64 im re) (log.f64 (exp.f64 (/.f64 1 (log.f64 base)))))
33.8b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
56.0b
(*.f64 (atan2.f64 im re) 1)
0.7b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (cbrt.f64 (pow.f64 (log.f64 base) 6)))))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (/.f64 (-.f64 0 (pow.f64 (log.f64 base) 2)) (log.f64 base))))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
31.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (exp.f64 (log.f64 (neg.f64 (log.f64 base))))))
0.5b
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
31.5b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Compiler

Compiled 581 to 439 computations (24.4% saved)

localize23.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 61 to 33 computations (45.9% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite76.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
989×pow1_binary64
921×add-log-exp_binary64
919×log1p-expm1-u_binary64
919×expm1-log1p-u_binary64
130×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify62.0ms (0.9%)

Algorithm
egg-herbie
Rules
454×fma-def_binary64
425×fma-neg_binary64
395×distribute-rgt-in_binary64
364×distribute-lft-in_binary64
335×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01951246
14381199
219621165
376521165
Stop Event
node limit
Counts
132 → 110
Calls
Call 1
Inputs
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(*.f64 -1 (log.f64 base))
(log.f64 (/.f64 1 base))
(log.f64 (/.f64 1 base))
(log.f64 (/.f64 1 base))
(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 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 -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 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(+.f64 0 (log.f64 base))
(+.f64 (log.f64 (sqrt.f64 base)) (log.f64 (sqrt.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 base) 2)) (log.f64 (cbrt.f64 base)))
(-.f64 0 (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (log.f64 base))) 1)
(*.f64 (log.f64 base) 1)
(*.f64 (log.f64 base) (*.f64 (log.f64 base) (/.f64 1 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) 2) (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (/.f64 1 (log.f64 base))))
(*.f64 1 (log.f64 base))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.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 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (neg.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base)))
(*.f64 (sqrt.f64 (log.f64 base)) (neg.f64 (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (log.f64 base) 2))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 -1 (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (log.f64 base) 2) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (sqrt.f64 (log.f64 base))))
(*.f64 (neg.f64 (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 1)
(pow.f64 (pow.f64 (log.f64 base) 2) 1/2)
(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 (/.f64 1 (log.f64 base)) -1)
(neg.f64 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) 2))
(fabs.f64 (log.f64 base))
(log.f64 base)
(log.f64 (+.f64 1 (-.f64 base 1)))
(cbrt.f64 (pow.f64 (log.f64 base) 3))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 6) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (log.f64 base)))
(log1p.f64 (-.f64 base 1))
(exp.f64 (log.f64 (log.f64 base)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(*.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (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 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (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 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (pow.f64 (log.f64 base) 2)) (/.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (pow.f64 (log.f64 base) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (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 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (cbrt.f64 (pow.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 (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 (atan2.f64 im re) 1) (/.f64 1 (log.f64 base)))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) 1) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (sqrt.f64 (log.f64 base))) (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) (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)))
(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 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(log.f64 (/.f64 1 base))
(neg.f64 (log.f64 base))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(neg.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(neg.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(-.f64 (log.f64 (/.f64 -1 base)) (log.f64 -1))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.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)) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base)))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(+.f64 0 (log.f64 base))
(log.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 (log.f64 (pow.f64 (cbrt.f64 base) 2)) (log.f64 (cbrt.f64 base)))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 base))) (log.f64 (cbrt.f64 base)))
(*.f64 3 (log.f64 (cbrt.f64 base)))
(*.f64 (log.f64 (cbrt.f64 base)) 3)
(-.f64 0 (log.f64 base))
(neg.f64 (log.f64 base))
(-.f64 (exp.f64 (log1p.f64 (log.f64 base))) 1)
(log.f64 base)
(*.f64 (log.f64 base) 1)
(log.f64 base)
(*.f64 (log.f64 base) (*.f64 (log.f64 base) (/.f64 1 (log.f64 base))))
(log.f64 base)
(*.f64 (pow.f64 (log.f64 base) 2) (/.f64 1 (log.f64 base)))
(log.f64 base)
(*.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (/.f64 1 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 1 (log.f64 base))
(log.f64 base)
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(log.f64 base)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (log.f64 base)))
(log.f64 base)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (neg.f64 (cbrt.f64 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 (sqrt.f64 (log.f64 base)) (sqrt.f64 (log.f64 base)))
(log.f64 base)
(*.f64 (sqrt.f64 (log.f64 base)) (neg.f64 (sqrt.f64 (log.f64 base))))
(neg.f64 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (log.f64 base) 2))
(log.f64 base)
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (fabs.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (log.f64 base)) (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(*.f64 -1 (log.f64 base))
(neg.f64 (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (log.f64 base))))
(log.f64 base)
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (log.f64 base) 2) (sqrt.f64 (log.f64 base))))
(log.f64 base)
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (log.f64 base) (log.f64 base)))
(log.f64 base)
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (log.f64 base))))
(log.f64 base)
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (sqrt.f64 (log.f64 base))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (sqrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (cbrt.f64 (log.f64 base)))
(*.f64 (neg.f64 (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
(neg.f64 (log.f64 base))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(neg.f64 (log.f64 base))
(pow.f64 (log.f64 base) 1)
(log.f64 base)
(pow.f64 (pow.f64 (log.f64 base) 2) 1/2)
(log.f64 base)
(pow.f64 (pow.f64 (log.f64 base) 3) 1/3)
(log.f64 base)
(pow.f64 (cbrt.f64 (log.f64 base)) 3)
(log.f64 base)
(pow.f64 (sqrt.f64 (log.f64 base)) 2)
(log.f64 base)
(pow.f64 (/.f64 1 (log.f64 base)) -1)
(log.f64 base)
(neg.f64 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) 2))
(log.f64 base)
(fabs.f64 (log.f64 base))
(log.f64 base)
(log.f64 base)
(log.f64 (+.f64 1 (-.f64 base 1)))
(log.f64 base)
(cbrt.f64 (pow.f64 (log.f64 base) 3))
(log.f64 base)
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 6) (pow.f64 (log.f64 base) 3)))
(log.f64 base)
(expm1.f64 (log1p.f64 (log.f64 base)))
(log.f64 base)
(log1p.f64 (-.f64 base 1))
(log.f64 base)
(exp.f64 (log.f64 (log.f64 base)))
(log.f64 base)
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (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 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.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 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base)))
(/.f64 (neg.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 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (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 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 1 (pow.f64 (log.f64 base) 2)) (/.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (pow.f64 (log.f64 base) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (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)) (pow.f64 (log.f64 base) 2)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (*.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) 1) (/.f64 1 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) 1) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)) (sqrt.f64 (log.f64 base))) (sqrt.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))
(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) (log.f64 base)))
(/.f64 (neg.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))
(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))

localize7.0ms (0.1%)

Compiler

Compiled 14 to 7 computations (50% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 40 to 20 computations (50% saved)

series185.0ms (2.8%)

Counts
4 → 108
Calls

33 calls:

TimeVariablePointExpression
59.0ms
base
@0
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
22.0ms
im
@inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
17.0ms
base
@-inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
15.0ms
base
@inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
15.0ms
re
@inf
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))

rewrite61.0ms (0.9%)

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

Useful iterations: 1 (0.0ms)

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

simplify52.0ms (0.8%)

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

Useful iterations: 2 (0.0ms)

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

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

rewrite53.0ms (0.8%)

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

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

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 39 to 19 computations (51.3% saved)

series70.0ms (1%)

Counts
4 → 72
Calls

18 calls:

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

rewrite74.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
488×log-prod_binary64
374×exp-prod_binary64
359×prod-exp_binary64
291×pow-prod-down_binary64
273×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify83.0ms (1.2%)

Algorithm
egg-herbie
Rules
710×fma-def_binary64
474×distribute-rgt-in_binary64
322×exp-prod_binary64
302×sqr-pow_binary64
229×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
042412884904403
19362484
227402476
Stop Event
node limit
Counts
262 → 238
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (log.f64 base) 1/3)
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(pow.f64 (/.f64 1 (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 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(pow.f64 (/.f64 1 (+.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 (/.f64 1 (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 1)
(*.f64 1 (/.f64 1 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (pow.f64 (cbrt.f64 (log.f64 base)) -2)))
(*.f64 (pow.f64 (log.f64 base) -1/6) (pow.f64 (cbrt.f64 (log.f64 base)) -5/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 1) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -5/2) (pow.f64 (log.f64 base) -1/6))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 1 (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) 1))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (log.f64 base)))
(/.f64 -1 (pow.f64 (neg.f64 (cbrt.f64 (log.f64 base))) 3))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (neg.f64 (cbrt.f64 (log.f64 base))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 1) (cbrt.f64 (log.f64 base)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) -1) (neg.f64 (cbrt.f64 (log.f64 base))))
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (log.f64 base)))))
(cbrt.f64 (pow.f64 (log.f64 base) -3))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) -1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -3)) 1/3))
(exp.f64 (*.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) 3/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -1/2)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) -3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) -3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1) 3))
(exp.f64 (*.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1) 3))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2) 2))
(exp.f64 (-.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (log.f64 (log.f64 base)) 1/3)))
(exp.f64 (-.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (log.f64 base)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1) (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base))))))
(exp.f64 (+.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1) (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base))))))
(exp.f64 (+.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1)))
(exp.f64 (+.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1)))
(exp.f64 (+.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2) (log.f64 (pow.f64 (log.f64 base) -1/2))))
(exp.f64 (+.f64 (log.f64 (pow.f64 (log.f64 base) -1/2)) (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2)))
(exp.f64 (+.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2) (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2)))
(+.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 1 (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 base)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.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))
(/.f64 1 (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (log.f64 base)) 1)
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (pow.f64 (log.f64 base) 1/6) (pow.f64 (log.f64 base) -1/6))
(/.f64 (neg.f64 (cbrt.f64 (log.f64 base))) -1)
(pow.f64 (log.f64 base) 1/3)
(pow.f64 (cbrt.f64 (log.f64 base)) 1)
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) -1)
(pow.f64 (/.f64 1 (log.f64 base)) -1/3)
(pow.f64 (E.f64) (log.f64 (cbrt.f64 (log.f64 base))))
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1/2)
(pow.f64 (pow.f64 (log.f64 base) 2) 1/6)
(pow.f64 (pow.f64 (log.f64 base) 3) 1/9)
(pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) 3)
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) -3)
(pow.f64 (pow.f64 (log.f64 base) 1/6) 2)
(pow.f64 (pow.f64 (log.f64 base) -1/6) -2)
(pow.f64 (sqrt.f64 (log.f64 base)) 2/3)
(pow.f64 (exp.f64 1/3) (log.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 (cbrt.f64 (log.f64 base))) 3) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) 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))
(exp.f64 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1)))
(exp.f64 (neg.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1)))
(+.f64 0 (/.f64 1 (cbrt.f64 (log.f64 base))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (log.f64 base))))) 1)
(*.f64 1 (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1)
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (log.f64 base) -1/6) (pow.f64 (log.f64 base) -1/6))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) -2) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(pow.f64 (log.f64 base) -1/3)
(pow.f64 (cbrt.f64 (log.f64 base)) -1)
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1)
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(pow.f64 (E.f64) (*.f64 -1/3 (log.f64 (log.f64 base))))
(pow.f64 (pow.f64 (log.f64 base) -3) 1/9)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1/2)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 1/2)
(pow.f64 (pow.f64 (log.f64 base) 3) -1/9)
(pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) -3)
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 3)
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) 3/2)
(pow.f64 (pow.f64 (log.f64 base) 1/6) -2)
(pow.f64 (pow.f64 (log.f64 base) -1/6) 2)
(pow.f64 (sqrt.f64 (log.f64 base)) -2/3)
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2/3)
(pow.f64 (exp.f64 -1) (log.f64 (cbrt.f64 (log.f64 base))))
(pow.f64 (neg.f64 (neg.f64 (cbrt.f64 (log.f64 base)))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base)))) 2)) (cbrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base))))) (sqrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base)))))
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cbrt.f64 (log.f64 base))))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(exp.f64 (*.f64 -1/3 (log.f64 (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1))
(exp.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2))) 3/2))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) -1/3))
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1/3))
(exp.f64 (*.f64 (*.f64 1/3 (*.f64 -1/3 (log.f64 (log.f64 base)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -1/6)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) -1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) -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))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1) 1))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) 1/3))
(exp.f64 (neg.f64 (*.f64 (log.f64 (log.f64 base)) 1/3)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (cbrt.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) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(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 (neg.f64 (log.f64 (log.f64 base))) 1) (log.f64 (atan2.f64 im re))))
(exp.f64 (+.f64 (neg.f64 (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (neg.f64 (log.f64 (log.f64 base)))))
(exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
Outputs
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (pow.f64 1 1/3))
(/.f64 1 (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(/.f64 1 (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(/.f64 1 (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(/.f64 1 (log.f64 base))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 1 (log.f64 (/.f64 1 base)))))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 1 1/3) (/.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 (pow.f64 1 1/3) (/.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 (pow.f64 1 1/3) (/.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 (pow.f64 1 1/3) (/.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))))
(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 (cbrt.f64 -1) (neg.f64 (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 (cbrt.f64 -1) (neg.f64 (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 (cbrt.f64 -1) (neg.f64 (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 (cbrt.f64 -1) (neg.f64 (cbrt.f64 (log.f64 base))))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(cbrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(cbrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(cbrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(cbrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 1/3)
(cbrt.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(cbrt.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(pow.f64 (+.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 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (/.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 -1 (log.f64 base))))
(*.f64 (pow.f64 (/.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 -1 (log.f64 base))))
(*.f64 (pow.f64 (/.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 -1 (log.f64 base))))
(*.f64 (pow.f64 (/.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 -1 (log.f64 base))))
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(cbrt.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(cbrt.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(+.f64 0 (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 1)
(/.f64 1 (log.f64 base))
(*.f64 1 (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (pow.f64 (cbrt.f64 (log.f64 base)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 7))
(*.f64 (pow.f64 (log.f64 base) -1/6) (pow.f64 (cbrt.f64 (log.f64 base)) -5/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (log.f64 base))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 1) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -5/2) (pow.f64 (log.f64 base) -1/6))
(*.f64 (pow.f64 (log.f64 base) -1/6) (pow.f64 (cbrt.f64 (log.f64 base)) -5/2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 7))
(/.f64 1 (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) 1))
(/.f64 1 (log.f64 base))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) (cbrt.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (pow.f64 (neg.f64 (cbrt.f64 (log.f64 base))) 3))
(/.f64 1 (log.f64 base))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (neg.f64 (cbrt.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 1) (cbrt.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) -1) (neg.f64 (cbrt.f64 (log.f64 base))))
(/.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))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (log.f64 base)))))
(/.f64 1 (log.f64 base))
(cbrt.f64 (pow.f64 (log.f64 base) -3))
(/.f64 1 (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) -1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -3))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -3)) 1/3))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) 3/2))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -1/2)) 2))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) -1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) -1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) -3))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) -3))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1) 3))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1) 3))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) 1))
(/.f64 1 (log.f64 base))
(exp.f64 (*.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2) 2))
(/.f64 1 (log.f64 base))
(exp.f64 (-.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (log.f64 (log.f64 base)) 1/3)))
(/.f64 1 (log.f64 base))
(exp.f64 (-.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1)))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (*.f64 (log.f64 (log.f64 base)) 1)))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1) (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1) (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base))))))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1)))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (neg.f64 (*.f64 2/3 (log.f64 (log.f64 base)))) (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1)))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2) (log.f64 (pow.f64 (log.f64 base) -1/2))))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (log.f64 (pow.f64 (log.f64 base) -1/2)) (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2)))
(/.f64 1 (log.f64 base))
(exp.f64 (+.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2) (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 3/2)))
(/.f64 1 (log.f64 base))
(+.f64 0 (cbrt.f64 (log.f64 base)))
(cbrt.f64 (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base)))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (log.f64 base)))) 1)
(cbrt.f64 (log.f64 base))
(*.f64 1 (cbrt.f64 (log.f64 base)))
(cbrt.f64 (log.f64 base))
(*.f64 (cbrt.f64 (log.f64 base)) 1)
(cbrt.f64 (log.f64 base))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (pow.f64 (log.f64 base) 1/6) (pow.f64 (log.f64 base) 1/6))
(cbrt.f64 (log.f64 base))
(/.f64 1 (/.f64 1 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(/.f64 (cbrt.f64 (log.f64 base)) 1)
(cbrt.f64 (log.f64 base))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (pow.f64 (log.f64 base) 1/6) (pow.f64 (log.f64 base) -1/6))
(/.f64 (neg.f64 (cbrt.f64 (log.f64 base))) -1)
(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 (/.f64 1 (cbrt.f64 (log.f64 base))) -1)
(cbrt.f64 (log.f64 base))
(pow.f64 (/.f64 1 (log.f64 base)) -1/3)
(cbrt.f64 (log.f64 base))
(pow.f64 (E.f64) (log.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (log.f64 base))
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1/2)
(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 (cbrt.f64 (cbrt.f64 (log.f64 base))) 3)
(cbrt.f64 (log.f64 base))
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) -3)
(pow.f64 (pow.f64 (log.f64 base) 1/6) 2)
(cbrt.f64 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) -1/6) -2)
(pow.f64 (sqrt.f64 (log.f64 base)) 2/3)
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) 1/3) (pow.f64 (sqrt.f64 (log.f64 base)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (log.f64 base))) (cbrt.f64 (sqrt.f64 (log.f64 base))))
(pow.f64 (exp.f64 1/3) (log.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 (cbrt.f64 (log.f64 base))) 3) 1/3))
(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 (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))
(exp.f64 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1)))
(cbrt.f64 (log.f64 base))
(exp.f64 (neg.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1)))
(cbrt.f64 (log.f64 base))
(+.f64 0 (/.f64 1 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (log.f64 base))))) 1)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 1 (/.f64 1 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (cbrt.f64 (pow.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))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (log.f64 base)))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 base))) -2) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) -1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (log.f64 base)) -1)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (E.f64) (*.f64 -1/3 (log.f64 (log.f64 base))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (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)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2) 1/2)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (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 (cbrt.f64 (cbrt.f64 (log.f64 base))) -3)
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) 3/2)
(pow.f64 (pow.f64 (log.f64 base) 1/6) -2)
(pow.f64 (pow.f64 (log.f64 base) -1/6) 2)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (sqrt.f64 (log.f64 base)) -2/3)
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1/6) (pow.f64 (sqrt.f64 (log.f64 base)) -1/6)) (*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1/6) (pow.f64 (sqrt.f64 (log.f64 base)) -1/6)))
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2/3)
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 1/3) (pow.f64 (pow.f64 (log.f64 base) -1/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(pow.f64 (exp.f64 -1) (log.f64 (cbrt.f64 (log.f64 base))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (neg.f64 (neg.f64 (cbrt.f64 (log.f64 base)))) -1)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base)))) 2)) (cbrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 (log.f64 base)) -1/3)) 2)) (cbrt.f64 (*.f64 (log.f64 (log.f64 base)) -1/3)))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base))))) (sqrt.f64 (*.f64 -1/3 (log.f64 (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 (log.f64 base)) -1/3))) (sqrt.f64 (*.f64 (log.f64 (log.f64 base)) -1/3)))
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cbrt.f64 (log.f64 base))))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 -1/3 (log.f64 (log.f64 base))))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2))) 3/2))
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 base)) -2)) 3/2)
(exp.f64 (*.f64 (log.f64 (log.f64 base)) -1/3))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1/3))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 1/3 (*.f64 -1/3 (log.f64 (log.f64 base)))) 3))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) -1/6)) 2))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3) -1/3))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1) -1/3))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) 1/3) -1))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1) -1))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) -1) 1))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 (*.f64 -1/3 (log.f64 (log.f64 base))) 1) 1))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) 1/3))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (log.f64 base)) 1/3)))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 1)))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(+.f64 0 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (E.f64) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2) 1/2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)) (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))) (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1/3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (log.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (log.f64 (cbrt.f64 (log.f64 base))) 3)))
(/.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 (neg.f64 (log.f64 (log.f64 base))) 1) (log.f64 (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (neg.f64 (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1) (*.f64 (log.f64 (atan2.f64 im re)) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (neg.f64 (log.f64 (log.f64 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (log.f64 (atan2.f64 im re)) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) 1) (*.f64 (neg.f64 (log.f64 (log.f64 base))) 1)))
(/.f64 (atan2.f64 im re) (log.f64 base))

eval190.0ms (2.8%)

Compiler

Compiled 9375 to 4473 computations (52.3% saved)

prune271.0ms (4%)

Pruning

24 alts after pruning (13 fresh and 11 done)

PrunedKeptTotal
New6474651
Fresh5914
Picked011
Done01010
Total65224676
Error
0b
Counts
676 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
35.0b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
30.8b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.4b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
1.0b
(/.f64 1 (/.f64 (/.f64 1 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
1.0b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
1.0b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
35.3b
(/.f64 1 (log.f64 (pow.f64 base (pow.f64 (pow.f64 (atan2.f64 im re) -1/2) 2))))
11.7b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
6.6b
(/.f64 1 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3)))
14.5b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
33.9b
(*.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) -1/3) 3))
1.2b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
0.3b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
5.3b
(*.f64 (atan2.f64 im re) (-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1))
30.9b
(*.f64 (atan2.f64 im re) (sqrt.f64 (pow.f64 (log.f64 base) -2)))
33.8b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) -3)))
56.0b
(*.f64 (atan2.f64 im re) 1)
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (/.f64 (-.f64 0 (pow.f64 (log.f64 base) 2)) (log.f64 base))))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
31.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (exp.f64 (log.f64 (neg.f64 (log.f64 base))))))
0.5b
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
31.5b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Compiler

Compiled 306 to 231 computations (24.5% saved)

regimes140.0ms (2.1%)

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

5 calls:

44.0ms
(log.f64 base)
23.0ms
re
22.0ms
base
21.0ms
im
16.0ms
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
Results
ErrorSegmentsBranch
0.3b1re
0.3b1im
0.3b1base
0.3b1(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
0.3b1(log.f64 base)
Compiler

Compiled 634 to 278 computations (56.2% saved)

regimes18.0ms (0.3%)

Accuracy

Total -55.7b remaining (-18748.6%)

Threshold costs -55.7b (-18748.6%)

Counts
4 → 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)))
Outputs
(/.f64 (atan2.f64 im re) (log.f64 base))
Calls

4 calls:

5.0ms
(log.f64 base)
5.0ms
re
4.0ms
im
4.0ms
base
Results
ErrorSegmentsBranch
0.3b1re
0.3b1im
0.3b1base
0.3b1(log.f64 base)
Compiler

Compiled 47 to 27 computations (42.6% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
distribute-rgt-neg-in_binary64
sub-neg_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01427
11927
22227
32927
43127
53227
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.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) 1)
Outputs
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(neg.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 (/.f64 1 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) 1)
(atan2.f64 im re)
Compiler

Compiled 27 to 19 computations (29.6% saved)

soundness159.0ms (2.4%)

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)

end21.0ms (0.3%)

Compiler

Compiled 21 to 11 computations (47.6% saved)

Profiling

Loading profile data...