\frac{\tan^{-1}_* \frac{im}{re}}{\log 10}\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{1}{\sqrt{\log 10}} \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot \frac{1}{\sqrt{\log 10}}\right)\right)\right)double f(double re, double im) {
double r767658 = im;
double r767659 = re;
double r767660 = atan2(r767658, r767659);
double r767661 = 10.0;
double r767662 = log(r767661);
double r767663 = r767660 / r767662;
return r767663;
}
double f(double re, double im) {
double r767664 = 1.0;
double r767665 = 10.0;
double r767666 = log(r767665);
double r767667 = sqrt(r767666);
double r767668 = r767664 / r767667;
double r767669 = im;
double r767670 = re;
double r767671 = atan2(r767669, r767670);
double r767672 = r767671 * r767668;
double r767673 = r767668 * r767672;
double r767674 = expm1(r767673);
double r767675 = log1p(r767674);
return r767675;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.8
rmApplied log1p-expm1-u0.7
rmApplied add-sqr-sqrt0.7
Applied *-un-lft-identity0.7
Applied times-frac0.7
rmApplied div-inv0.7
Applied associate-*r*0.7
Final simplification0.7
herbie shell --seed 2019149 +o rules:numerics
(FPCore (re im)
:name "math.log10 on complex, imaginary part"
(/ (atan2 im re) (log 10)))