Details

Time bar (total: 7.3s)

analyze268.0ms (3.7%)

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

Compiled 32 to 21 computations (34.4% saved)

sample2.4s (32.8%)

Results
1.9s8256×body256valid
426.0ms2060×body256invalid
Bogosity

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

simplify54.0ms (0.7%)

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

Useful iterations: 3 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 70 to 28 computations (60% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 25 to 15 computations (40% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 6 computations (64.7% saved)

series85.0ms (1.2%)

Counts
1 → 8
Calls

9 calls:

TimeVariablePointExpression
37.0ms
base
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
22.0ms
im
@0
(/.f64 (atan2.f64 im re) (log.f64 base))
10.0ms
base
@-inf
(/.f64 (atan2.f64 im re) (log.f64 base))
9.0ms
base
@inf
(/.f64 (atan2.f64 im re) (log.f64 base))
5.0ms
re
@0
(/.f64 (atan2.f64 im re) (log.f64 base))

rewrite54.0ms (0.7%)

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

simplify39.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(/.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)

series12.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

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

rewrite56.0ms (0.8%)

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

eval36.0ms (0.5%)

Compiler

Compiled 1988 to 704 computations (64.6% saved)

prune39.0ms (0.5%)

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
36.9b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
0.7b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
1.7b
(/.f64 (fma.f64 (atan2.f64 im re) (log.f64 base) 0) (exp.f64 (log.f64 (pow.f64 (log.f64 base) 2))))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
33.3b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
0.5b
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 base) (log.f64 base)))
2.0b
(/.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))))
26.8b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) (*.f64 (log.f64 base) (log.f64 base)))
7.9b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (*.f64 (log.f64 base) (log.f64 base)))
15.9b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
0.5b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
1.8b
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
1.8b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
0.4b
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (/.f64 1 (log.f64 base)))
1.3b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
0.5b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (pow.f64 (log.f64 base) 2))))
35.0b
(sqrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2) (pow.f64 (log.f64 base) 4)))
0.3b
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
32.9b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.2b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
Compiler

Compiled 653 to 438 computations (32.9% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 32 to 8 computations (75% saved)

series5.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
783×pow1_binary64
718×expm1-log1p-u_binary64
717×add-log-exp_binary64
717×log1p-expm1-u_binary64
700×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify44.0ms (0.6%)

Algorithm
egg-herbie
Rules
478×associate-/l*_binary64
477×unswap-sqr_binary64
320×associate-/r*_binary64
308×associate-*l/_binary64
276×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01481436
13411412
213511409
Stop Event
node limit
Counts
131 → 73
Calls
Call 1
Inputs
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (sqrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1) (+.f64 (*.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (+.f64 1 (*.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))
(/.f64 (-.f64 (*.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (+.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(pow.f64 (pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3)
(pow.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(pow.f64 (sqrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)
(sqrt.f64 (pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(log.f64 (exp.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(cbrt.f64 (pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(log1p.f64 (expm1.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(exp.f64 (log.f64 (expm1.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 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))))
(/.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)))
(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))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(expm1.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(expm1.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(expm1.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(expm1.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 -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 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) -1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2) (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (sqrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (-.f64 (pow.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1) (+.f64 (*.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (+.f64 1 (*.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) -1) (fma.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (+.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)) (+.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (+.f64 1 (exp.f64 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2)))))
(/.f64 (expm1.f64 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3)) (+.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (+.f64 1 (pow.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))))
(/.f64 (-.f64 (*.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1) (+.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (cbrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (sqrt.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(sqrt.f64 (pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (exp.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(cbrt.f64 (pow.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log1p.f64 (expm1.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(exp.f64 (log.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(expm1.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 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) (*.f64 (cbrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (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 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))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.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))
1.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)))

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

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 34 to 10 computations (70.6% saved)

series23.0ms (0.3%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
3.0ms
re
@-inf
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
2.0ms
im
@0
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
2.0ms
base
@inf
(cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
2.0ms
im
@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)))

rewrite49.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify70.0ms (1%)

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

Useful iterations: 1 (0.0ms)

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

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

series8.0ms (0.1%)

Counts
4 → 64
Calls

24 calls:

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

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

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

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (log.f64 base) (atan2.f64 im re))
0.5b
(*.f64 (log.f64 base) (log.f64 base))
0.6b
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)
8.1b
(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
re
@-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
base
@0
(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
im
@inf
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)

rewrite68.0ms (0.9%)

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

simplify81.0ms (1.1%)

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)

eval221.0ms (3%)

Compiler

Compiled 9010 to 3524 computations (60.9% saved)

prune396.0ms (5.4%)

Pruning

22 alts after pruning (18 fresh and 4 done)

PrunedKeptTotal
New57213585
Fresh11516
Picked101
Done145
Total58522607
Error
0b
Counts
607 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
36.9b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
33.0b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3) 3)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
1.3b
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
0.5b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
7.9b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) (pow.f64 (log.f64 base) 2))
0.7b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
15.9b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
0.5b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
1.3b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
0.9b
(*.f64 (atan2.f64 im re) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base))))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.4b
(*.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
33.5b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.5b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 1 (neg.f64 (/.f64 (log.f64 base) (/.f64 1 (log.f64 base))))))
0.5b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 -1 (pow.f64 (log.f64 base) 2)))
0.3b
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
32.9b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.2b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
8.2b
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3)))
Compiler

Compiled 557 to 403 computations (27.6% saved)

localize43.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

Compiled 37 to 20 computations (45.9% saved)

series62.0ms (0.8%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
31.0ms
base
@0
(log1p.f64 (/.f64 1 (log.f64 base)))
16.0ms
base
@-inf
(log1p.f64 (/.f64 1 (log.f64 base)))
11.0ms
base
@inf
(log1p.f64 (/.f64 1 (log.f64 base)))
0.0ms
im
@0
(*.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
0.0ms
base
@-inf
(*.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
839×pow1_binary64
765×add-log-exp_binary64
765×expm1-log1p-u_binary64
764×log1p-expm1-u_binary64
747×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify88.0ms (1.2%)

Algorithm
egg-herbie
Rules
549×fma-neg_binary64
527×unswap-sqr_binary64
362×log-prod_binary64
320×times-frac_binary64
318×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01391112
13211079
210861073
354351073
Stop Event
node limit
Counts
118 → 75
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 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log.f64 (+.f64 1 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(log.f64 (+.f64 1 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(log.f64 (+.f64 1 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(log.f64 (+.f64 1 (/.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 (*.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 (/.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 (+.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))
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 3) 1) (+.f64 (*.f64 (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 1 (/.f64 1 (log.f64 base)))) (+.f64 1 (*.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 1 (/.f64 1 (log.f64 base)))) 1) (+.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) -1)
(pow.f64 (/.f64 1 (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.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))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(-.f64 (+.f64 1 (log1p.f64 (/.f64 1 (log.f64 base)))) 1)
(*.f64 1 (log1p.f64 (/.f64 1 (log.f64 base))))
(*.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 1)
(*.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) (pow.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 2) (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
(*.f64 (sqrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) (sqrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
(pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 1)
(pow.f64 (pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 3) 1/3)
(pow.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 3)
(pow.f64 (sqrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 2)
(sqrt.f64 (pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 2))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(cbrt.f64 (pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
(exp.f64 (log.f64 (log1p.f64 (/.f64 1 (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 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 -1 (log.f64 (/.f64 1 base)))
(/.f64 1 (log.f64 base))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))))
(/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (-.f64 1 (/.f64 1 (log.f64 (/.f64 1 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (+.f64 1 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(log1p.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log1p.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 1 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(log1p.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log1p.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 1 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(log1p.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log1p.f64 (/.f64 1 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(log.f64 (+.f64 1 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))))
(log1p.f64 (/.f64 1 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log1p.f64 (/.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 (*.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 (/.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 (log.f64 base))
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(/.f64 1 (log.f64 base))
(*.f64 1 (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (log.f64 base))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (pow.f64 (cbrt.f64 (log.f64 base)) -1))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))
(/.f64 1 (log.f64 base))
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 3) 1) (+.f64 (*.f64 (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 1 (/.f64 1 (log.f64 base)))) (+.f64 1 (*.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 3) -1) (fma.f64 (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 1 (+.f64 1 (/.f64 1 (log.f64 base))))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 3)) (fma.f64 (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 (/.f64 1 (log.f64 base)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 3)) (+.f64 1 (*.f64 (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 (/.f64 1 (log.f64 base)) 2))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (/.f64 1 (log.f64 base))) (+.f64 1 (/.f64 1 (log.f64 base)))) 1) (+.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1))
(/.f64 1 (log.f64 base))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(pow.f64 (log.f64 base) -1)
(/.f64 1 (log.f64 base))
(pow.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 1 (log.f64 base))
(pow.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) 1/3)
(/.f64 1 (log.f64 base))
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)
(/.f64 1 (log.f64 base))
(pow.f64 (pow.f64 (log.f64 base) -1/2) 2)
(/.f64 1 (log.f64 base))
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(/.f64 1 (log.f64 base))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
(/.f64 1 (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(-.f64 (+.f64 1 (log1p.f64 (/.f64 1 (log.f64 base)))) 1)
(log1p.f64 (/.f64 1 (log.f64 base)))
(*.f64 1 (log1p.f64 (/.f64 1 (log.f64 base))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(*.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 1)
(log1p.f64 (/.f64 1 (log.f64 base)))
(*.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) (pow.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 2))
(log1p.f64 (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 2) (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(*.f64 (sqrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) (sqrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 1)
(log1p.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 3) 1/3)
(log1p.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (cbrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 3)
(log1p.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (sqrt.f64 (log1p.f64 (/.f64 1 (log.f64 base)))) 2)
(log1p.f64 (/.f64 1 (log.f64 base)))
(sqrt.f64 (pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 2))
(log1p.f64 (/.f64 1 (log.f64 base)))
(log.f64 (+.f64 1 (/.f64 1 (log.f64 base))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(cbrt.f64 (pow.f64 (log1p.f64 (/.f64 1 (log.f64 base))) 3))
(log1p.f64 (/.f64 1 (log.f64 base)))
(expm1.f64 (log1p.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))
(exp.f64 (log.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
(log1p.f64 (/.f64 1 (log.f64 base)))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 26 to 9 computations (65.4% saved)

series13.0ms (0.2%)

Counts
2 → 44
Calls

18 calls:

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

rewrite46.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

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

simplify64.0ms (0.9%)

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

localize16.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 32 to 9 computations (71.9% saved)

series107.0ms (1.5%)

Counts
3 → 52
Calls

15 calls:

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

rewrite49.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

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

simplify59.0ms (0.8%)

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

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 39 to 19 computations (51.3% saved)

series19.0ms (0.3%)

Counts
4 → 72
Calls

18 calls:

TimeVariablePointExpression
4.0ms
base
@inf
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3)
2.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)
1.0ms
base
@inf
(cbrt.f64 (log.f64 base))
1.0ms
base
@-inf
(cbrt.f64 (log.f64 base))

rewrite74.0ms (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 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
(/.f64 1 (cbrt.f64 (log.f64 base)))
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 (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)))))))
((#(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)))))))

simplify73.0ms (1%)

Algorithm
egg-herbie
Rules
711×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
19402484
227452476
Stop Event
node limit
Counts
262 → 239
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)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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)))))
(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 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 (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)))
(+.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)))
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))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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))))
(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 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 (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))
(+.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 (pow.f64 (sqrt.f64 (log.f64 base)) -1/3) (pow.f64 (sqrt.f64 (log.f64 base)) -1/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)))

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 72 to 30 computations (58.3% saved)

series4.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
644×log-prod_binary64
379×pow-unpow_binary64
290×pow2_binary64
205×pow1/3_binary64
199×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify66.0ms (0.9%)

Algorithm
egg-herbie
Rules
531×unswap-sqr_binary64
468×associate-*r/_binary64
376×associate-/r/_binary64
329×associate-/l/_binary64
324×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03188589936869
17332205
222542189
Stop Event
node limit
Counts
206 → 187
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 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (neg.f64 (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 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (log.f64 base) (/.f64 1 (cbrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (log.f64 base)))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (log.f64 base)))
(*.f64 -1 (pow.f64 (log.f64 base) 2))
(*.f64 (neg.f64 (log.f64 base)) (log.f64 base))
(*.f64 (neg.f64 (log.f64 base)) (/.f64 1 (/.f64 -1 (log.f64 base))))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) 3) (sqrt.f64 (log.f64 base)))
(*.f64 (/.f64 (neg.f64 (log.f64 base)) 1) (log.f64 base))
(*.f64 (/.f64 (log.f64 base) -1) (neg.f64 (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (log.f64 base))))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (pow.f64 (log.f64 base) 3/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (cbrt.f64 (log.f64 base)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (log.f64 base) -1/2)) (pow.f64 (log.f64 base) 5/6))
(*.f64 (neg.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (*.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(*.f64 (*.f64 -1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(pow.f64 (log.f64 base) 2)
(pow.f64 (/.f64 1 (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) 4) 1/2)
(pow.f64 (pow.f64 (log.f64 base) 6) 1/3)
(pow.f64 (pow.f64 (log.f64 base) 3) 2/3)
(pow.f64 (pow.f64 (log.f64 base) -6) -1/3)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) -3)
(pow.f64 (cbrt.f64 (log.f64 base)) 6)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 3)
(pow.f64 (sqrt.f64 (log.f64 base)) 4)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (log.f64 base) -3)) 1/3)
(pow.f64 (/.f64 (/.f64 1 (log.f64 base)) (neg.f64 (log.f64 base))) -1)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) -2) 1) -1)
(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))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (log.f64 base) -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))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1))
(+.f64 0 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))) (log.f64 (sqrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))))
(-.f64 0 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))) 1)
(-.f64 (/.f64 0 (pow.f64 (log.f64 base) 2)) (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (log.f64 base) (/.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (atan2.f64 im re))))
(/.f64 1 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (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)) (cbrt.f64 (pow.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 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 1)
(pow.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))) 3)
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (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 (*.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) -6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) 1/3)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 2) (*.f64 (log.f64 base) (atan2.f64 im re))) -1)
(neg.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(sqrt.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2))
(log.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))))
(cbrt.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(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 (log.f64 base) -6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))
(log1p.f64 (expm1.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))
(exp.f64 (+.f64 0 (log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))
(exp.f64 (*.f64 (+.f64 0 (log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))) 1))
(+.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 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) -2) 1)
(*.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) -2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -4)) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -3/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (/.f64 1 (log.f64 base))))
(*.f64 -1 (pow.f64 (log.f64 base) -2))
(*.f64 (/.f64 -1 (log.f64 base)) (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 3) (pow.f64 (log.f64 base) -1/2))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (log.f64 base)))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) 1) (pow.f64 (log.f64 base) -3/2))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (pow.f64 (log.f64 base) -5/6))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (sqrt.f64 (log.f64 base))) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base))))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (log.f64 base))))
(pow.f64 (log.f64 base) -2)
(pow.f64 (/.f64 1 (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) -3) 2/3)
(pow.f64 (pow.f64 (log.f64 base) 6) -1/3)
(pow.f64 (pow.f64 (log.f64 base) 3) -2/3)
(pow.f64 (pow.f64 (log.f64 base) -4) 1/2)
(pow.f64 (pow.f64 (log.f64 base) -6) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 6)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 3)
(pow.f64 (cbrt.f64 (log.f64 base)) -6)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -3)
(pow.f64 (pow.f64 (log.f64 base) -1/2) 4)
(pow.f64 (sqrt.f64 (log.f64 base)) -4)
(pow.f64 (pow.f64 (neg.f64 (log.f64 base)) 2) -1)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (log.f64 base) 3)) 1/3)
(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 (log.f64 base) -6))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (log.f64 base) 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))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) -1))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (log.f64 base))) 1))
Outputs
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (log.f64 (/.f64 1 base)) 2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) 2)
(pow.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) 2)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (log.f64 base) 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (log.f64 base))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (log.f64 base)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 base (log.f64 base)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 base (log.f64 base)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))) (log.f64 (sqrt.f64 (pow.f64 base (log.f64 base)))))
(pow.f64 (log.f64 base) 2)
(-.f64 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 (log.f64 base) 2)
(*.f64 (log.f64 base) (log.f64 base))
(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 (log.f64 base) 2)
(*.f64 (pow.f64 (log.f64 base) 2) 1)
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (log.f64 base) 2) -1)
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (neg.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(*.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) (/.f64 (log.f64 base) (/.f64 1 (cbrt.f64 (log.f64 base)))))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (sqrt.f64 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (log.f64 base)))
(pow.f64 (log.f64 base) 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 (neg.f64 (log.f64 base)) (/.f64 1 (/.f64 -1 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) 3) (sqrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(*.f64 (/.f64 (neg.f64 (log.f64 base)) 1) (log.f64 base))
(neg.f64 (pow.f64 (log.f64 base) 2))
(*.f64 (/.f64 (log.f64 base) -1) (neg.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (pow.f64 (log.f64 base) 3/2))
(*.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (log.f64 base) 3/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (cbrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 4) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (log.f64 base) -1/2)) (pow.f64 (log.f64 base) 5/6))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (pow.f64 (log.f64 base) 5/6)) (pow.f64 (log.f64 base) -1/2))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) 5/6)))
(*.f64 (neg.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) (neg.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (*.f64 (log.f64 base) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(*.f64 (*.f64 -1 (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) (neg.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (neg.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(pow.f64 (log.f64 base) 2)
(pow.f64 (/.f64 1 (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 (log.f64 base) -2) -1)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 4) 1/2)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (log.f64 base) 6) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) 6))
(pow.f64 (pow.f64 (log.f64 base) 3) 2/3)
(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 (cbrt.f64 (pow.f64 (log.f64 base) -2)) -3)
(pow.f64 (cbrt.f64 (log.f64 base)) 6)
(pow.f64 (log.f64 base) 2)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 3)
(pow.f64 (log.f64 base) 2)
(pow.f64 (sqrt.f64 (log.f64 base)) 4)
(pow.f64 (log.f64 base) 2)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (log.f64 base) -3)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (log.f64 base) -3)))
(pow.f64 (/.f64 (/.f64 1 (log.f64 base)) (neg.f64 (log.f64 base))) -1)
(neg.f64 (pow.f64 (log.f64 base) 2))
(pow.f64 (/.f64 (pow.f64 (log.f64 base) -2) 1) -1)
(pow.f64 (log.f64 base) 2)
(neg.f64 (pow.f64 (log.f64 base) 2))
(sqrt.f64 (pow.f64 (log.f64 base) 4))
(pow.f64 (log.f64 base) 2)
(log.f64 (pow.f64 base (log.f64 base)))
(pow.f64 (log.f64 base) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 base) 2))))
(pow.f64 (log.f64 base) 2)
(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))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (log.f64 base) -3)))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (log.f64 base) 2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) 2)))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 2 (log.f64 (log.f64 base))))
(pow.f64 (log.f64 base) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) 1))
(pow.f64 (log.f64 base) 2)
(+.f64 0 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))) (log.f64 (sqrt.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 0 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (exp.f64 (log1p.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 (/.f64 0 (pow.f64 (log.f64 base) 2)) (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (log.f64 base) (/.f64 (pow.f64 (log.f64 base) 2) (neg.f64 (atan2.f64 im re))))
(/.f64 (neg.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 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (/.f64 (pow.f64 (log.f64 base) 2) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (pow.f64 (log.f64 base) 2)) (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (pow.f64 (log.f64 base) 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 2)) (/.f64 (cbrt.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) 2)))
(/.f64 (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))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(/.f64 (neg.f64 (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) 2) (atan2.f64 im re)))
(/.f64 (neg.f64 (atan2.f64 im re)) (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)) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) 4)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(*.f64 (/.f64 (log.f64 base) (cbrt.f64 (pow.f64 (log.f64 base) 4))) (/.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (log.f64 base)) 2)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) -1) (pow.f64 (log.f64 base) 2))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 1)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2) 1/2)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(pow.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 3) 1/3)
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(pow.f64 (cbrt.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))) 3)
(/.f64 (neg.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 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) 6)))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(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 (log.f64 base) -6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(pow.f64 (*.f64 (pow.f64 (log.f64 base) -6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 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 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(sqrt.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 2))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(log.f64 (pow.f64 base (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (pow.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) 3))
(/.f64 (neg.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 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3) (pow.f64 (log.f64 base) -6)))
(cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (log.f64 base) -6) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(log1p.f64 (expm1.f64 (*.f64 1 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(exp.f64 (+.f64 0 (log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))
(exp.f64 (*.f64 (+.f64 0 (log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))) 1))
(/.f64 (neg.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 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 base)))
(pow.f64 (log.f64 base) -2)
(*.f64 (pow.f64 (log.f64 base) -2) 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) -2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (/.f64 1 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -4)) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (log.f64 base) -4)))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -3/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (*.f64 (pow.f64 (log.f64 base) -1/2) (/.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 (log.f64 base)) (/.f64 1 (log.f64 base)))
(/.f64 -1 (pow.f64 (log.f64 base) 2))
(neg.f64 (pow.f64 (log.f64 base) -2))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 3) (pow.f64 (log.f64 base) -1/2))
(pow.f64 (log.f64 base) -2)
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (pow.f64 (log.f64 base) 4))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (log.f64 base) 4)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) 1) (pow.f64 (log.f64 base) -3/2))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -3/2))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (/.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (pow.f64 (log.f64 base) -5/6))
(/.f64 (*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -5/6)) (pow.f64 (cbrt.f64 (log.f64 base)) 2))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (sqrt.f64 (log.f64 base))) (/.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(*.f64 (*.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 (/.f64 1 (log.f64 base)) (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (log.f64 base)) 4))
(pow.f64 (log.f64 base) -2)
(pow.f64 (/.f64 1 (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 (log.f64 base) -2) 1)
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (log.f64 base) -3) 2/3)
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -3) 1/3) (pow.f64 (pow.f64 (log.f64 base) -3) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -3)) (cbrt.f64 (pow.f64 (log.f64 base) -3)))
(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) 3) -2/3)
(*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 base) 3) -1/6) (pow.f64 (pow.f64 (log.f64 base) 3) -1/6)) (*.f64 (pow.f64 (pow.f64 (log.f64 base) 3) -1/6) (pow.f64 (pow.f64 (log.f64 base) 3) -1/6)))
(pow.f64 (pow.f64 (log.f64 base) -4) 1/2)
(pow.f64 (log.f64 base) -2)
(pow.f64 (pow.f64 (log.f64 base) -6) 1/3)
(cbrt.f64 (pow.f64 (log.f64 base) -6))
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 6)
(pow.f64 (log.f64 base) -2)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 3)
(pow.f64 (log.f64 base) -2)
(pow.f64 (cbrt.f64 (log.f64 base)) -6)
(pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -3)
(pow.f64 (pow.f64 (log.f64 base) -1/2) 4)
(pow.f64 (log.f64 base) -2)
(pow.f64 (sqrt.f64 (log.f64 base)) -4)
(pow.f64 (pow.f64 (neg.f64 (log.f64 base)) 2) -1)
(pow.f64 (log.f64 base) -2)
(pow.f64 (/.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (log.f64 base) 3)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (log.f64 base) 3)))
(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 (log.f64 base) -6))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) -3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (pow.f64 (log.f64 base) -2)))
(pow.f64 (log.f64 base) -2)
(log1p.f64 (expm1.f64 (pow.f64 (log.f64 base) -2)))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 -2 (log.f64 (log.f64 base))))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 base))) -1))
(pow.f64 (log.f64 base) -2)
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (log.f64 base))) 1))
(pow.f64 (log.f64 base) -2)

eval180.0ms (2.5%)

Compiler

Compiled 11019 to 5190 computations (52.9% saved)

prune158.0ms (2.2%)

Pruning

25 alts after pruning (18 fresh and 7 done)

PrunedKeptTotal
New7339742
Fresh4913
Picked101
Done178
Total73925764
Error
0b
Counts
764 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
36.9b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
33.0b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3) 3)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.5b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
0.7b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.7b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
13.1b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
33.7b
(/.f64 1 (exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
8.0b
(/.f64 1 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3)))
15.9b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
0.5b
(*.f64 (pow.f64 (log.f64 base) -2) (*.f64 (log.f64 base) (atan2.f64 im re)))
1.5b
(*.f64 (atan2.f64 im re) (pow.f64 (cbrt.f64 (/.f64 1 (log.f64 base))) 3))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
1.3b
(*.f64 (atan2.f64 im re) (/.f64 -1 (pow.f64 (neg.f64 (cbrt.f64 (log.f64 base))) 3)))
0.4b
(*.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
33.5b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) -3)))
56.6b
(*.f64 (atan2.f64 im re) 1)
0.5b
(*.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (/.f64 -1 (pow.f64 (log.f64 base) 2)))
35.0b
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))
0.3b
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
32.9b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.2b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
Compiler

Compiled 549 to 410 computations (25.3% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 12 computations (63.6% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite55.0ms (0.7%)

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

Useful iterations: 2 (0.0ms)

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

simplify56.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

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

localize6.0ms (0.1%)

Compiler

Compiled 14 to 7 computations (50% saved)

localize28.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 32 to 8 computations (75% saved)

series141.0ms (1.9%)

Counts
2 → 44
Calls

18 calls:

TimeVariablePointExpression
28.0ms
base
@inf
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
23.0ms
re
@0
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
16.0ms
im
@inf
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
16.0ms
re
@-inf
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
13.0ms
base
@-inf
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))

rewrite51.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Rules
793×times-frac_binary64
452×unswap-sqr_binary64
412×associate-/l*_binary64
300×fma-def_binary64
296×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01741491
13911359
214691358
Stop Event
node limit
Counts
114 → 92
Calls
Call 1
Inputs
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(log.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 -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 (log.f64 (atan2.f64 im re)) (neg.f64 (log.f64 (log.f64 base))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 0 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(-.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base)))
(-.f64 (+.f64 1 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(-.f64 0 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(-.f64 (log.f64 (neg.f64 (atan2.f64 im re))) (log.f64 (neg.f64 (log.f64 base))))
(*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 1 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(*.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)))))
(*.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)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (atan2.f64 im re)) 3) (pow.f64 (log.f64 (log.f64 base)) 3)) (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re))) (+.f64 (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))))
(/.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base)))) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))
(pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(pow.f64 (pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(pow.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)
(neg.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log1p.f64 (-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(exp.f64 (log.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(+.f64 1 (-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(-.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) 1) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) 1) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (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 (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 (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 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 -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)))
(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)
(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)))))
(pow.f64 (exp.f64 1) (log.f64 (/.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)))))
(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))))
Outputs
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base)))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(log.f64 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base))))))
(log.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 -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 (log.f64 (atan2.f64 im re)) (neg.f64 (log.f64 (log.f64 base))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)) (log.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (log.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 0 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base)))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (+.f64 1 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 1)
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 0 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(-.f64 (log.f64 (neg.f64 (atan2.f64 im re))) (log.f64 (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 1 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.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)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.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)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (-.f64 (pow.f64 (log.f64 (atan2.f64 im re)) 3) (pow.f64 (log.f64 (log.f64 base)) 3)) (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re))) (+.f64 (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (atan2.f64 im re)) 3) (pow.f64 (log.f64 (log.f64 base)) 3)) (fma.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re)) (*.f64 (log.f64 (log.f64 base)) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (atan2.f64 im re)) 3) (pow.f64 (log.f64 (log.f64 base)) 3)) (fma.f64 (log.f64 (log.f64 base)) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (atan2.f64 im re)) 3) (pow.f64 (log.f64 (log.f64 base)) 3)) (fma.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base)) (*.f64 (log.f64 (atan2.f64 im re)) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))))
(/.f64 (-.f64 (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base)))) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))
(/.f64 (*.f64 (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))
(/.f64 (*.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base)))) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))))
(*.f64 (/.f64 (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base))) (+.f64 (log.f64 (atan2.f64 im re)) (log.f64 (log.f64 base)))) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3) 1/3)
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (cbrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 3)
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(pow.f64 (sqrt.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) 2)
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(neg.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(log1p.f64 (-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(log1p.f64 (+.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1))
(log1p.f64 (+.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))))
(log.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base))))
(log.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))
(+.f64 1 (-.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.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 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 (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 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 1 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (neg.f64 (atan2.f64 im re)) (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (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 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 (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 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (sqrt.f64 (log.f64 base))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 base))))
(*.f64 (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 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 1 (/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (log.f64 base) (cbrt.f64 (atan2.f64 im re))))
(*.f64 (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 (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))
(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))
(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)))))
(pow.f64 (exp.f64 1) (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(pow.f64 (E.f64) (log.f64 (/.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)))))
(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))

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
0.3b
(/.f64 (log.f64 base) (atan2.f64 im re))
1.1b
(exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
1.5b
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
Compiler

Compiled 43 to 11 computations (74.4% saved)

series208.0ms (2.9%)

Counts
3 → 80
Calls

27 calls:

TimeVariablePointExpression
98.0ms
base
@inf
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
22.0ms
re
@inf
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
19.0ms
base
@-inf
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
16.0ms
im
@inf
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
12.0ms
re
@-inf
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))

rewrite77.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
926×pow1_binary64
849×add-log-exp_binary64
849×log1p-expm1-u_binary64
849×expm1-log1p-u_binary64
828×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify54.0ms (0.7%)

Algorithm
egg-herbie
Rules
463×fma-def_binary64
401×distribute-rgt-in_binary64
394×distribute-lft-in_binary64
339×log-prod_binary64
252×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02482010
15681986
223281986
Stop Event
node limit
Counts
188 → 129
Calls
Call 1
Inputs
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.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 -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 (log.f64 (log.f64 base)) (neg.f64 (log.f64 (atan2.f64 im re))))
(+.f64 0 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(+.f64 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(-.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re)))
(-.f64 0 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(-.f64 (+.f64 1 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1)
(-.f64 (log.f64 (neg.f64 (log.f64 base))) (log.f64 (neg.f64 (atan2.f64 im re))))
(*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(*.f64 1 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(*.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2) (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(*.f64 (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 base)) 3) (pow.f64 (log.f64 (atan2.f64 im re)) 3)) (+.f64 (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base))) (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))))))
(/.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re)))) (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))))
(pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(pow.f64 (pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3)
(pow.f64 (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2)
(neg.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log1p.f64 (-.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(exp.f64 (log.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 1 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(*.f64 (log.f64 base) (/.f64 1 (atan2.f64 im re)))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(*.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (/.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))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (/.f64 1 (/.f64 1 (atan2.f64 im re))))
(/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 1 (/.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 -1 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)) -1)
(/.f64 (neg.f64 (log.f64 base)) (neg.f64 (atan2.f64 im re)))
(/.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (atan2.f64 im re))))
(/.f64 (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(/.f64 (/.f64 (log.f64 base) 1) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(pow.f64 (E.f64) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(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)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2)) (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(neg.f64 (/.f64 (log.f64 base) (neg.f64 (atan2.f64 im re))))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(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))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
(*.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 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))))
(*.f64 (pow.f64 (log.f64 base) -1) (pow.f64 (/.f64 1 (atan2.f64 im re)) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(*.f64 (/.f64 (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 (log.f64 base)) (atan2.f64 im re))
(*.f64 (/.f64 1 (neg.f64 (log.f64 base))) (neg.f64 (atan2.f64 im re)))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (/.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (log.f64 base) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(log.f64 (*.f64 -1 (/.f64 (log.f64 (/.f64 1 base)) (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 base))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.f64 (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 base)))) (atan2.f64 im re)))
(log.f64 (/.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 -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 (log.f64 (log.f64 base)) (neg.f64 (log.f64 (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 0 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (log.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)) (log.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(-.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re)))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(-.f64 0 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(-.f64 (+.f64 1 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 1)
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(-.f64 (log.f64 (neg.f64 (log.f64 base))) (log.f64 (neg.f64 (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 1 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2) (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 base)) 3) (pow.f64 (log.f64 (atan2.f64 im re)) 3)) (+.f64 (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base))) (+.f64 (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 base)) 3) (pow.f64 (log.f64 (atan2.f64 im re)) 3)) (fma.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base)) (*.f64 (log.f64 (atan2.f64 im re)) (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 base)) 3) (pow.f64 (log.f64 (atan2.f64 im re)) 3)) (fma.f64 (log.f64 (atan2.f64 im re)) (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))) (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base)))))
(/.f64 (-.f64 (*.f64 (log.f64 (log.f64 base)) (log.f64 (log.f64 base))) (*.f64 (log.f64 (atan2.f64 im re)) (log.f64 (atan2.f64 im re)))) (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))))
(/.f64 (*.f64 (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))) (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))))
(/.f64 (*.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re)))) (+.f64 (log.f64 (log.f64 base)) (log.f64 (atan2.f64 im re))))
(pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 1)
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3) 1/3)
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 3)
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(pow.f64 (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2)
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(neg.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 3))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(log1p.f64 (-.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(log1p.f64 (+.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1))
(log1p.f64 (+.f64 -1 (/.f64 (log.f64 base) (atan2.f64 im re))))
(exp.f64 (log.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 1 (-.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1))
(/.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) (/.f64 1 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 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 (log.f64 base)) 2) (*.f64 (cbrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (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 (log.f64 base)) (*.f64 (sqrt.f64 (log.f64 base)) (/.f64 1 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (neg.f64 (log.f64 base)) (/.f64 1 (neg.f64 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) 1) (/.f64 (cbrt.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (sqrt.f64 (log.f64 base)) 1) (/.f64 (sqrt.f64 (log.f64 base)) (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (log.f64 base) (cbrt.f64 (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 (/.f64 (sqrt.f64 (log.f64 base)) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (/.f64 (sqrt.f64 (log.f64 base)) (cbrt.f64 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 1 (sqrt.f64 (atan2.f64 im re))) (/.f64 (log.f64 base) (sqrt.f64 (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))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (log.f64 base) (/.f64 1 (/.f64 1 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 1 (/.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (sqrt.f64 (log.f64 base)) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 -1 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re)) -1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (neg.f64 (log.f64 base)) (neg.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) 1) (atan2.f64 im re))
(/.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (/.f64 (log.f64 base) (pow.f64 (cbrt.f64 (atan2.f64 im re)) 2)) (cbrt.f64 (atan2.f64 im re)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) -1)
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (E.f64) (log.f64 (/.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)
(/.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))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))) 2)) (cbrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))) (sqrt.f64 (log.f64 (/.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))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 2))
(/.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3))
(/.f64 (log.f64 base) (atan2.f64 im re))
(cbrt.f64 (/.f64 (pow.f64 (log.f64 base) 3) (pow.f64 (atan2.f64 im re) 3)))
(/.f64 (log.f64 base) (atan2.f64 im re))
(expm1.f64 (log1p.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(log1p.f64 (expm1.f64 (/.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (log.f64 base) (atan2.f64 im re))
(-.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 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 (/.f64 (neg.f64 (log.f64 base)) (atan2.f64 im re))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) -1) (pow.f64 (/.f64 1 (atan2.f64 im re)) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1) (pow.f64 (sqrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) -1))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 (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 (log.f64 base)) (atan2.f64 im re))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (/.f64 1 (neg.f64 (log.f64 base))) (neg.f64 (atan2.f64 im re)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(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))

localize38.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 40 to 23 computations (42.5% saved)

series8.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
927×pow1_binary64
860×add-log-exp_binary64
859×log1p-expm1-u_binary64
859×expm1-log1p-u_binary64
839×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify54.0ms (0.7%)

Algorithm
egg-herbie
Rules
592×associate-/l/_binary64
343×unswap-sqr_binary64
310×times-frac_binary64
289×distribute-rgt-in_binary64
289×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01581321
13481245
210141203
338131197
Stop Event
node limit
Counts
129 → 88
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 (/.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 (+.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 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 base)) -1) (pow.f64 (sqrt.f64 (log.f64 base)) -1))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) 3) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 3) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 3))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (log.f64 base) -1/2))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (cbrt.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(-.f64 (+.f64 1 (/.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 (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1/3) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 1/3) (pow.f64 (pow.f64 (log.f64 base) -1/2) 1/3))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(/.f64 1 (/.f64 (cbrt.f64 (log.f64 base)) 1))
(/.f64 -1 (cbrt.f64 (neg.f64 (log.f64 base))))
(/.f64 -1 (neg.f64 (cbrt.f64 (log.f64 base))))
(pow.f64 (log.f64 base) -1/3)
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1)
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 3)
(pow.f64 (cbrt.f64 (log.f64 base)) -1)
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 2)
(sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 (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 (neg.f64 (log.f64 (cbrt.f64 (log.f64 base)))))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (*.f64 -1 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (*.f64 (atan2.f64 im re) -1) (neg.f64 (log.f64 base)))
(pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1)
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
(sqrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 2))
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3)))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Outputs
(*.f64 (/.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 (log.f64 base))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (+.f64 (log.f64 -1) (*.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 (log.f64 base))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))))
(/.f64 1 (log.f64 base))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(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 (/.f64 1 (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 -1 (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 -1 (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 -1 (log.f64 base))) (cbrt.f64 -1))
(*.f64 (pow.f64 (/.f64 1 (log.f64 (/.f64 1 base))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 1 (neg.f64 (log.f64 base)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 -1 (log.f64 base))) (cbrt.f64 -1))
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(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 (log.f64 base)))
(pow.f64 (/.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base))))) 1/3)
(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 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 base)))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (+.f64 1 (/.f64 1 (log.f64 base))) 1)
(/.f64 1 (log.f64 base))
(*.f64 1 (/.f64 1 (log.f64 base)))
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (log.f64 base)) 1)
(/.f64 1 (log.f64 base))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) 4) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) -1/2) (pow.f64 (log.f64 base) -1/2))
(/.f64 1 (log.f64 base))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(*.f64 -1 (/.f64 1 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 base)) 2) -1) (/.f64 1 (cbrt.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))
(pow.f64 (sqrt.f64 (log.f64 base)) -2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) 3) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 3) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 3))
(/.f64 1 (log.f64 base))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (/.f64 1 (cbrt.f64 (log.f64 base))))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) 4) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (pow.f64 (log.f64 base) -1/2))) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 2))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(/.f64 1 (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(/.f64 (pow.f64 (log.f64 base) -1/2) (sqrt.f64 (log.f64 base)))
(/.f64 -1 (neg.f64 (log.f64 base)))
(/.f64 1 (log.f64 base))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1) (cbrt.f64 (log.f64 base)))
(/.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (cbrt.f64 (log.f64 base)))
(sqrt.f64 (pow.f64 (log.f64 base) -2))
(/.f64 1 (log.f64 base))
(log.f64 (exp.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3))
(/.f64 1 (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 1 (log.f64 base))))
(/.f64 1 (log.f64 base))
(exp.f64 (neg.f64 (log.f64 (log.f64 base))))
(/.f64 1 (log.f64 base))
(-.f64 (+.f64 1 (/.f64 1 (cbrt.f64 (log.f64 base)))) 1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 1 (/.f64 1 (cbrt.f64 (log.f64 base))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) (cbrt.f64 (pow.f64 (log.f64 base) -1/2)))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(*.f64 (pow.f64 1 1/3) (/.f64 1 (cbrt.f64 (log.f64 base))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) 1/3) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))))
(/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2))) (cbrt.f64 (cbrt.f64 (log.f64 base))))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) -1/2) 1/3) (pow.f64 (pow.f64 (log.f64 base) -1/2) 1/3))
(cbrt.f64 (/.f64 1 (log.f64 base)))
(/.f64 1 (cbrt.f64 (log.f64 base)))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (/.f64 (cbrt.f64 (log.f64 base)) 1))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(/.f64 -1 (cbrt.f64 (neg.f64 (log.f64 base))))
(/.f64 -1 (neg.f64 (cbrt.f64 (log.f64 base))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (log.f64 base) -1/3)
(*.f64 (pow.f64 (log.f64 base) -1/6) (pow.f64 (log.f64 base) -1/6))
(pow.f64 (/.f64 1 (log.f64 base)) 1/3)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (log.f64 base)))) 3)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (log.f64 base)) -1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(pow.f64 (cbrt.f64 (pow.f64 (log.f64 base) -1/2)) 2)
(cbrt.f64 (/.f64 1 (log.f64 base)))
(sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 (log.f64 base)))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(exp.f64 (neg.f64 (log.f64 (cbrt.f64 (log.f64 base)))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 1))
(+.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 0)
(/.f64 1 (cbrt.f64 (log.f64 base)))
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
(/.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (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 (/.f64 1 (log.f64 base)) 3) (pow.f64 (atan2.f64 im re) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(cbrt.f64 (*.f64 (pow.f64 (atan2.f64 im re) 3) (pow.f64 (/.f64 1 (log.f64 base)) 3)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(expm1.f64 (log1p.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))

eval133.0ms (1.8%)

Compiler

Compiled 8127 to 3230 computations (60.3% saved)

prune98.0ms (1.4%)

Pruning

24 alts after pruning (13 fresh and 11 done)

PrunedKeptTotal
New5733576
Fresh31013
Picked101
Done01111
Total57724601
Error
0b
Counts
601 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
36.9b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3) 1/3)
33.0b
(pow.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 1/3) 3)
1.5b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
0.5b
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) 2))
0.7b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.7b
(/.f64 1 (*.f64 (/.f64 1 (atan2.f64 im re)) (log.f64 base)))
13.1b
(/.f64 1 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))))
33.7b
(/.f64 1 (exp.f64 (log.f64 (/.f64 (log.f64 base) (atan2.f64 im re)))))
8.0b
(/.f64 1 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3)))
15.9b
(-.f64 (+.f64 1 (/.f64 (atan2.f64 im re) (log.f64 base))) 1)
33.3b
(*.f64 (atan2.f64 im re) (pow.f64 (sqrt.f64 (log.f64 base)) -2))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
0.4b
(*.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (/.f64 1 (log.f64 base)))))
33.5b
(*.f64 (atan2.f64 im re) (exp.f64 (neg.f64 (log.f64 (log.f64 base)))))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.8b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (log.f64 base) -3)))
56.6b
(*.f64 (atan2.f64 im re) 1)
0.5b
(*.f64 (/.f64 (log.f64 base) 1) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 2)))
0.6b
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) -2)))
35.0b
(sqrt.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -2))
0.3b
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
32.9b
(exp.f64 (log.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
8.2b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
Compiler

Compiled 296 to 219 computations (26% saved)

regimes131.0ms (1.8%)

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

5 calls:

31.0ms
base
22.0ms
(log.f64 base)
21.0ms
re
20.0ms
im
17.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 632 to 266 computations (57.9% saved)

regimes26.0ms (0.4%)

Accuracy

Total -59.4b remaining (-18335.4%)

Threshold costs -59.4b (-18335.4%)

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

4 calls:

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

Compiled 93 to 46 computations (50.5% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
11426
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) 1)
Outputs
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (atan2.f64 im re) 1)
(atan2.f64 im re)
Compiler

Compiled 26 to 18 computations (30.8% saved)

soundness157.0ms (2.2%)

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

Useful iterations: 3 (0.0ms)

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

Compiled 138 to 86 computations (37.7% saved)

end20.0ms (0.3%)

Compiler

Compiled 20 to 8 computations (60% saved)

Profiling

Loading profile data...