\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 r2434202 = im;
double r2434203 = re;
double r2434204 = atan2(r2434202, r2434203);
double r2434205 = base;
double r2434206 = log(r2434205);
double r2434207 = r2434204 * r2434206;
double r2434208 = r2434203 * r2434203;
double r2434209 = r2434202 * r2434202;
double r2434210 = r2434208 + r2434209;
double r2434211 = sqrt(r2434210);
double r2434212 = log(r2434211);
double r2434213 = 0.0;
double r2434214 = r2434212 * r2434213;
double r2434215 = r2434207 - r2434214;
double r2434216 = r2434206 * r2434206;
double r2434217 = r2434213 * r2434213;
double r2434218 = r2434216 + r2434217;
double r2434219 = r2434215 / r2434218;
return r2434219;
}
double f(double re, double im, double base) {
double r2434220 = im;
double r2434221 = re;
double r2434222 = atan2(r2434220, r2434221);
double r2434223 = base;
double r2434224 = log(r2434223);
double r2434225 = r2434222 / r2434224;
return r2434225;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 31.6
Simplified0.3
Final simplification0.3
herbie shell --seed 2019163
(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))))