\frac{\tan^{-1}_* \frac{im}{re} \cdot \log base - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\frac{\tan^{-1}_* \frac{im}{re}}{\log base}double f(double re, double im, double base) {
double r2371666 = im;
double r2371667 = re;
double r2371668 = atan2(r2371666, r2371667);
double r2371669 = base;
double r2371670 = log(r2371669);
double r2371671 = r2371668 * r2371670;
double r2371672 = r2371667 * r2371667;
double r2371673 = r2371666 * r2371666;
double r2371674 = r2371672 + r2371673;
double r2371675 = sqrt(r2371674);
double r2371676 = log(r2371675);
double r2371677 = 0.0;
double r2371678 = r2371676 * r2371677;
double r2371679 = r2371671 - r2371678;
double r2371680 = r2371670 * r2371670;
double r2371681 = r2371677 * r2371677;
double r2371682 = r2371680 + r2371681;
double r2371683 = r2371679 / r2371682;
return r2371683;
}
double f(double re, double im, double base) {
double r2371684 = im;
double r2371685 = re;
double r2371686 = atan2(r2371684, r2371685);
double r2371687 = base;
double r2371688 = log(r2371687);
double r2371689 = r2371686 / r2371688;
return r2371689;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 30.8
Simplified0.3
Final simplification0.3
herbie shell --seed 2019152
(FPCore (re im base)
:name "math.log/2 on complex, imaginary part"
(/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))))