Average Error: 0 → 0
Time: 1.7m
Precision: 64
\[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]
\[\Re(\left(\left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(15 + 0.0 i\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \mathsf{fma}\left(1, 20, 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + 15\right) + \left(\mathsf{fma}\left(-1, 0.0, 1 \cdot 6\right) + 0.0\right) i\right)\right)\right)\right) + \left(\left(\left(1 + \left(6 \cdot -1 - 0.0 \cdot 1\right)\right) + \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) + \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right)\right)\right) + \left(\left(\left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right) + \left(\left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) + \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right) + \left(\mathsf{fma}\left(-1, 0.0, 1 \cdot 6\right) + 0.0\right)\right) i\right)\right))\]
\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Re(\left(\left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(15 + 0.0 i\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \mathsf{fma}\left(1, 20, 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + 15\right) + \left(\mathsf{fma}\left(-1, 0.0, 1 \cdot 6\right) + 0.0\right) i\right)\right)\right)\right) + \left(\left(\left(1 + \left(6 \cdot -1 - 0.0 \cdot 1\right)\right) + \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) + \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right)\right)\right) + \left(\left(\left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right) + \left(\left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) + \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right) + \left(\mathsf{fma}\left(-1, 0.0, 1 \cdot 6\right) + 0.0\right)\right) i\right)\right))
double f() {
        double r786837 = -1.0;
        double r786838 = 1.0;
        double r786839 = /* ERROR: no complex support in C */;
        double r786840 = r786839 * r786839;
        double r786841 = r786840 * r786839;
        double r786842 = r786841 * r786839;
        double r786843 = r786842 * r786839;
        double r786844 = r786843 * r786839;
        double r786845 = 6.0;
        double r786846 = 0.0;
        double r786847 = /* ERROR: no complex support in C */;
        double r786848 = r786847 * r786839;
        double r786849 = r786848 * r786839;
        double r786850 = r786849 * r786839;
        double r786851 = r786850 * r786839;
        double r786852 = r786851 * r786839;
        double r786853 = r786844 + r786852;
        double r786854 = 15.0;
        double r786855 = /* ERROR: no complex support in C */;
        double r786856 = r786855 * r786839;
        double r786857 = r786856 * r786839;
        double r786858 = r786857 * r786839;
        double r786859 = r786858 * r786839;
        double r786860 = r786853 + r786859;
        double r786861 = 20.0;
        double r786862 = /* ERROR: no complex support in C */;
        double r786863 = r786862 * r786839;
        double r786864 = r786863 * r786839;
        double r786865 = r786864 * r786839;
        double r786866 = r786860 + r786865;
        double r786867 = r786866 + r786857;
        double r786868 = r786867 + r786848;
        double r786869 = /* ERROR: no complex support in C */;
        double r786870 = r786868 + r786869;
        double r786871 = /* ERROR: no complex support in C */;
        return r786871;
}

double f() {
        double r786872 = -1.0;
        double r786873 = 1.0;
        double r786874 = r786872 - r786873;
        double r786875 = r786873 + r786872;
        double r786876 = r786874 * r786875;
        double r786877 = r786872 + r786872;
        double r786878 = r786873 * r786877;
        double r786879 = /* ERROR: no complex support in C */;
        double r786880 = 15.0;
        double r786881 = 0.0;
        double r786882 = /* ERROR: no complex support in C */;
        double r786883 = 20.0;
        double r786884 = r786872 * r786883;
        double r786885 = r786881 * r786873;
        double r786886 = r786884 - r786885;
        double r786887 = r786881 * r786872;
        double r786888 = fma(r786873, r786883, r786887);
        double r786889 = /* ERROR: no complex support in C */;
        double r786890 = r786882 + r786889;
        double r786891 = 6.0;
        double r786892 = r786891 * r786872;
        double r786893 = r786892 - r786885;
        double r786894 = r786893 + r786880;
        double r786895 = r786873 * r786891;
        double r786896 = fma(r786872, r786881, r786895);
        double r786897 = r786896 + r786881;
        double r786898 = /* ERROR: no complex support in C */;
        double r786899 = r786879 * r786898;
        double r786900 = r786890 + r786899;
        double r786901 = r786879 * r786900;
        double r786902 = r786873 + r786893;
        double r786903 = r786876 * r786876;
        double r786904 = r786878 * r786878;
        double r786905 = r786903 - r786904;
        double r786906 = r786876 * r786905;
        double r786907 = r786878 * r786876;
        double r786908 = r786907 + r786907;
        double r786909 = r786878 * r786908;
        double r786910 = r786906 - r786909;
        double r786911 = r786902 + r786910;
        double r786912 = r786905 * r786878;
        double r786913 = r786908 * r786876;
        double r786914 = r786912 + r786913;
        double r786915 = r786914 + r786897;
        double r786916 = /* ERROR: no complex support in C */;
        double r786917 = r786901 + r786916;
        double r786918 = /* ERROR: no complex support in C */;
        return r786918;
}

Error

Derivation

  1. Initial program 0

    \[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(\left(\left(1 + \left(-1 \cdot 6 - 0.0 \cdot 1\right)\right) + \left(\left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) \cdot \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) - \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right) + \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right)\right) + \left(\left(\mathsf{fma}\left(-1, 0.0, 6 \cdot 1\right) + 0.0\right) + \left(\left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right) + \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) \cdot \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right)\right)\right) i\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(-1 \cdot 6 - 0.0 \cdot 1\right) + 15\right) + \left(\mathsf{fma}\left(-1, 0.0, 6 \cdot 1\right) + 0.0\right) i\right)\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \mathsf{fma}\left(1, 20, 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(15 + 0.0 i\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \mathsf{fma}\left(1, 20, 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right) + 1 \cdot \left(-1 + -1\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + 15\right) + \left(\mathsf{fma}\left(-1, 0.0, 1 \cdot 6\right) + 0.0\right) i\right)\right)\right)\right) + \left(\left(\left(1 + \left(6 \cdot -1 - 0.0 \cdot 1\right)\right) + \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) + \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right)\right)\right) + \left(\left(\left(\left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) - \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right)\right) \cdot \left(1 \cdot \left(-1 + -1\right)\right) + \left(\left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right) + \left(1 \cdot \left(-1 + -1\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right) \cdot \left(\left(-1 - 1\right) \cdot \left(1 + -1\right)\right)\right) + \left(\mathsf{fma}\left(-1, 0.0, 1 \cdot 6\right) + 0.0\right)\right) i\right)\right))\]

Reproduce

herbie shell --seed 2019200 +o rules:numerics
(FPCore ()
  :name "3.9.1 real part (p56)"
  (re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))