Average Error: 61.9 → 0
Time: 20.7s
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{9}{2} + \left(\frac{\sqrt{3}}{\frac{1}{2}} + \left(\sqrt{3} \cdot \frac{1}{4} + \sqrt{3} \cdot \frac{1}{4}\right)\right) i\right) + \left(\frac{-9}{2} + \left(-6 \cdot \frac{\sqrt{3}}{2} + \frac{\sqrt{3}}{2}\right) 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{9}{2} + \left(\frac{\sqrt{3}}{\frac{1}{2}} + \left(\sqrt{3} \cdot \frac{1}{4} + \sqrt{3} \cdot \frac{1}{4}\right)\right) i\right) + \left(\frac{-9}{2} + \left(-6 \cdot \frac{\sqrt{3}}{2} + \frac{\sqrt{3}}{2}\right) i\right)\right))
double f() {
        double r1068903 = 1.0;
        double r1068904 = -r1068903;
        double r1068905 = 2.0;
        double r1068906 = r1068904 / r1068905;
        double r1068907 = 3.0;
        double r1068908 = sqrt(r1068907);
        double r1068909 = r1068908 / r1068905;
        double r1068910 = /* ERROR: no complex support in C */;
        double r1068911 = r1068910 * r1068910;
        double r1068912 = r1068911 * r1068910;
        double r1068913 = r1068912 * r1068910;
        double r1068914 = -r1068905;
        double r1068915 = 0.0;
        double r1068916 = /* ERROR: no complex support in C */;
        double r1068917 = r1068916 * r1068910;
        double r1068918 = r1068917 * r1068910;
        double r1068919 = r1068918 * r1068910;
        double r1068920 = r1068913 + r1068919;
        double r1068921 = 5.0;
        double r1068922 = /* ERROR: no complex support in C */;
        double r1068923 = r1068922 * r1068910;
        double r1068924 = r1068923 * r1068910;
        double r1068925 = r1068920 + r1068924;
        double r1068926 = 4.0;
        double r1068927 = /* ERROR: no complex support in C */;
        double r1068928 = r1068927 * r1068910;
        double r1068929 = r1068925 + r1068928;
        double r1068930 = 7.0;
        double r1068931 = /* ERROR: no complex support in C */;
        double r1068932 = r1068929 + r1068931;
        double r1068933 = /* ERROR: no complex support in C */;
        return r1068933;
}

double f() {
        double r1068934 = 4.5;
        double r1068935 = 3.0;
        double r1068936 = sqrt(r1068935);
        double r1068937 = 0.5;
        double r1068938 = r1068936 / r1068937;
        double r1068939 = 0.25;
        double r1068940 = r1068936 * r1068939;
        double r1068941 = r1068940 + r1068940;
        double r1068942 = r1068938 + r1068941;
        double r1068943 = /* ERROR: no complex support in C */;
        double r1068944 = -4.5;
        double r1068945 = -6.0;
        double r1068946 = 2.0;
        double r1068947 = r1068936 / r1068946;
        double r1068948 = r1068945 * r1068947;
        double r1068949 = r1068948 + r1068947;
        double r1068950 = /* ERROR: no complex support in C */;
        double r1068951 = r1068943 + r1068950;
        double r1068952 = /* ERROR: no complex support in C */;
        return r1068952;
}

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(\frac{9}{2} + \left(\left(\left(-\frac{-1}{4} \cdot \sqrt{3}\right) + \left(-\frac{-1}{4} \cdot \sqrt{3}\right)\right) + \frac{\sqrt{3}}{\frac{1}{2}}\right) i\right) + \left(\left(-3 - \frac{3}{2}\right) + \left(6 \cdot \left(-\frac{\sqrt{3}}{2}\right) + \frac{\sqrt{3}}{2}\right) i\right)\right))}\]
  3. Final simplification0

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

Reproduce

herbie shell --seed 2019130 +o rules:numerics
(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))))