\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 r2174630 = im;
double r2174631 = re;
double r2174632 = atan2(r2174630, r2174631);
double r2174633 = base;
double r2174634 = log(r2174633);
double r2174635 = r2174632 * r2174634;
double r2174636 = r2174631 * r2174631;
double r2174637 = r2174630 * r2174630;
double r2174638 = r2174636 + r2174637;
double r2174639 = sqrt(r2174638);
double r2174640 = log(r2174639);
double r2174641 = 0.0;
double r2174642 = r2174640 * r2174641;
double r2174643 = r2174635 - r2174642;
double r2174644 = r2174634 * r2174634;
double r2174645 = r2174641 * r2174641;
double r2174646 = r2174644 + r2174645;
double r2174647 = r2174643 / r2174646;
return r2174647;
}
double f(double re, double im, double base) {
double r2174648 = im;
double r2174649 = re;
double r2174650 = atan2(r2174648, r2174649);
double r2174651 = base;
double r2174652 = log(r2174651);
double r2174653 = r2174650 / r2174652;
return r2174653;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 31.1
Simplified0.3
rmApplied div-inv0.4
rmApplied *-un-lft-identity0.4
Applied associate-*l*0.4
Simplified0.3
Final simplification0.3
herbie shell --seed 2019146
(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))))