Average Error: 0.8 → 0.5
Time: 8.5s
Precision: binary64
\[\frac{\tan^{-1}_* \frac{im}{re}}{\log 10} \]
\[\begin{array}{l} t_0 := \frac{\log 10}{\tan^{-1}_* \frac{im}{re}}\\ t_1 := \sqrt[3]{t_0}\\ \frac{1}{t_1 \cdot t_1} \cdot \sqrt[3]{\frac{1}{t_0}} \end{array} \]
\frac{\tan^{-1}_* \frac{im}{re}}{\log 10}
\begin{array}{l}
t_0 := \frac{\log 10}{\tan^{-1}_* \frac{im}{re}}\\
t_1 := \sqrt[3]{t_0}\\
\frac{1}{t_1 \cdot t_1} \cdot \sqrt[3]{\frac{1}{t_0}}
\end{array}
(FPCore (re im) :precision binary64 (/ (atan2 im re) (log 10.0)))
(FPCore (re im)
 :precision binary64
 (let* ((t_0 (/ (log 10.0) (atan2 im re))) (t_1 (cbrt t_0)))
   (* (/ 1.0 (* t_1 t_1)) (cbrt (/ 1.0 t_0)))))
double code(double re, double im) {
	return atan2(im, re) / log(10.0);
}
double code(double re, double im) {
	double t_0 = log(10.0) / atan2(im, re);
	double t_1 = cbrt(t_0);
	return (1.0 / (t_1 * t_1)) * cbrt(1.0 / t_0);
}

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.8

    \[\frac{\tan^{-1}_* \frac{im}{re}}{\log 10} \]
  2. Applied clear-num_binary641.0

    \[\leadsto \color{blue}{\frac{1}{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \]
  3. Applied add-cube-cbrt_binary640.9

    \[\leadsto \frac{1}{\color{blue}{\left(\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}\right) \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}}} \]
  4. Applied add-cube-cbrt_binary640.9

    \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\left(\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}\right) \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \]
  5. Applied times-frac_binary640.7

    \[\leadsto \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}}} \]
  6. Simplified0.7

    \[\leadsto \color{blue}{\frac{1}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \]
  7. Simplified0.7

    \[\leadsto \frac{1}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \cdot \color{blue}{\frac{1}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}}} \]
  8. Applied add-cbrt-cube_binary640.7

    \[\leadsto \frac{1}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \cdot \frac{\color{blue}{\sqrt[3]{\left(1 \cdot 1\right) \cdot 1}}}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \]
  9. Applied cbrt-undiv_binary640.5

    \[\leadsto \frac{1}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \cdot \color{blue}{\sqrt[3]{\frac{\left(1 \cdot 1\right) \cdot 1}{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}}} \]
  10. Final simplification0.5

    \[\leadsto \frac{1}{\sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}} \cdot \sqrt[3]{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \cdot \sqrt[3]{\frac{1}{\frac{\log 10}{\tan^{-1}_* \frac{im}{re}}}} \]

Reproduce

herbie shell --seed 2022103 
(FPCore (re im)
  :name "math.log10 on complex, imaginary part"
  :precision binary64
  (/ (atan2 im re) (log 10.0)))