Average Error: 61.9 → 0
Time: 23.1s
Precision: 64
\[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\]
\[\Re(\left(\left(\frac{11}{2} + \left(\left(-\sqrt{3}\right) - \frac{\sqrt{3}}{2}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))\]
\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))
\Re(\left(\left(\frac{11}{2} + \left(\left(-\sqrt{3}\right) - \frac{\sqrt{3}}{2}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))
double f() {
        double r765817 = 1.0;
        double r765818 = -r765817;
        double r765819 = 2.0;
        double r765820 = r765818 / r765819;
        double r765821 = 3.0;
        double r765822 = sqrt(r765821);
        double r765823 = r765822 / r765819;
        double r765824 = /* ERROR: no complex support in C */;
        double r765825 = r765824 * r765824;
        double r765826 = r765825 * r765824;
        double r765827 = r765826 * r765824;
        double r765828 = -r765819;
        double r765829 = 0.0;
        double r765830 = /* ERROR: no complex support in C */;
        double r765831 = r765830 * r765824;
        double r765832 = r765831 * r765824;
        double r765833 = r765832 * r765824;
        double r765834 = r765827 + r765833;
        double r765835 = 5.0;
        double r765836 = /* ERROR: no complex support in C */;
        double r765837 = r765836 * r765824;
        double r765838 = r765837 * r765824;
        double r765839 = r765834 + r765838;
        double r765840 = 4.0;
        double r765841 = /* ERROR: no complex support in C */;
        double r765842 = r765841 * r765824;
        double r765843 = r765839 + r765842;
        double r765844 = 7.0;
        double r765845 = /* ERROR: no complex support in C */;
        double r765846 = r765843 + r765845;
        double r765847 = /* ERROR: no complex support in C */;
        return r765847;
}

double f() {
        double r765848 = 5.5;
        double r765849 = 3.0;
        double r765850 = sqrt(r765849);
        double r765851 = -r765850;
        double r765852 = 2.0;
        double r765853 = r765850 / r765852;
        double r765854 = r765851 - r765853;
        double r765855 = /* ERROR: no complex support in C */;
        double r765856 = -0.5;
        double r765857 = -2.0;
        double r765858 = r765850 / r765857;
        double r765859 = /* ERROR: no complex support in C */;
        double r765860 = r765855 * r765859;
        double r765861 = 5.0;
        double r765862 = r765850 * r765852;
        double r765863 = /* ERROR: no complex support in C */;
        double r765864 = r765860 + r765863;
        double r765865 = /* ERROR: no complex support in C */;
        return r765865;
}

Error

Derivation

  1. Initial program 61.9

    \[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(5 + 2 \cdot \sqrt{3} i\right) + \left(\left(\left(\frac{1}{4} - \frac{3}{4}\right) + \frac{\sqrt{3}}{-2} i\right) \cdot \left(\left(\left(\frac{5}{4} - \frac{3}{4}\right) + 5\right) + \left(-1 \cdot \sqrt{3} - \frac{\sqrt{3}}{2}\right) i\right)\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(\frac{11}{2} + \left(\left(-\sqrt{3}\right) - \frac{\sqrt{3}}{2}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))\]

Reproduce

herbie shell --seed 2019146 
(FPCore ()
  :name "3.9.2 real part (p56)"
  (re (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))