Average Error: 0 → 0
Time: 24.4s
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(-1 \cdot 6 - 0.0 \cdot 1\right) + \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) i\right) + \left(\left(\left(1 + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right) + \left(\mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + 0.0\right) i\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(-1 \cdot 6 - 0.0 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + \mathsf{fma}\left(-1 \cdot 6 - 0.0 \cdot 1, 1 \cdot -1 + 1 \cdot -1, \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right) + \left(\mathsf{fma}\left(20, 1, 0.0 \cdot -1\right) + \mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right)\right) i\right)\right)\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(-1 \cdot 6 - 0.0 \cdot 1\right) + \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) i\right) + \left(\left(\left(1 + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right) + \left(\mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + 0.0\right) i\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(-1 \cdot 6 - 0.0 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + \mathsf{fma}\left(-1 \cdot 6 - 0.0 \cdot 1, 1 \cdot -1 + 1 \cdot -1, \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right) + \left(\mathsf{fma}\left(20, 1, 0.0 \cdot -1\right) + \mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right)\right) i\right)\right)\right)\right))
double f() {
        double r987058 = -1.0;
        double r987059 = 1.0;
        double r987060 = /* ERROR: no complex support in C */;
        double r987061 = r987060 * r987060;
        double r987062 = r987061 * r987060;
        double r987063 = r987062 * r987060;
        double r987064 = r987063 * r987060;
        double r987065 = r987064 * r987060;
        double r987066 = 6.0;
        double r987067 = 0.0;
        double r987068 = /* ERROR: no complex support in C */;
        double r987069 = r987068 * r987060;
        double r987070 = r987069 * r987060;
        double r987071 = r987070 * r987060;
        double r987072 = r987071 * r987060;
        double r987073 = r987072 * r987060;
        double r987074 = r987065 + r987073;
        double r987075 = 15.0;
        double r987076 = /* ERROR: no complex support in C */;
        double r987077 = r987076 * r987060;
        double r987078 = r987077 * r987060;
        double r987079 = r987078 * r987060;
        double r987080 = r987079 * r987060;
        double r987081 = r987074 + r987080;
        double r987082 = 20.0;
        double r987083 = /* ERROR: no complex support in C */;
        double r987084 = r987083 * r987060;
        double r987085 = r987084 * r987060;
        double r987086 = r987085 * r987060;
        double r987087 = r987081 + r987086;
        double r987088 = r987087 + r987078;
        double r987089 = r987088 + r987069;
        double r987090 = /* ERROR: no complex support in C */;
        double r987091 = r987089 + r987090;
        double r987092 = /* ERROR: no complex support in C */;
        return r987092;
}

double f() {
        double r987093 = -1.0;
        double r987094 = 6.0;
        double r987095 = r987093 * r987094;
        double r987096 = 0.0;
        double r987097 = 1.0;
        double r987098 = r987096 * r987097;
        double r987099 = r987095 - r987098;
        double r987100 = r987094 * r987097;
        double r987101 = fma(r987096, r987093, r987100);
        double r987102 = /* ERROR: no complex support in C */;
        double r987103 = r987097 + r987093;
        double r987104 = r987093 - r987097;
        double r987105 = r987103 * r987104;
        double r987106 = 15.0;
        double r987107 = r987105 * r987106;
        double r987108 = r987097 * r987093;
        double r987109 = r987108 + r987108;
        double r987110 = r987109 * r987096;
        double r987111 = r987107 - r987110;
        double r987112 = r987097 + r987111;
        double r987113 = r987096 * r987105;
        double r987114 = fma(r987106, r987109, r987113);
        double r987115 = r987114 + r987096;
        double r987116 = /* ERROR: no complex support in C */;
        double r987117 = /* ERROR: no complex support in C */;
        double r987118 = r987105 + r987109;
        double r987119 = r987105 - r987109;
        double r987120 = r987118 * r987119;
        double r987121 = r987099 * r987105;
        double r987122 = r987101 * r987109;
        double r987123 = r987121 - r987122;
        double r987124 = r987120 + r987123;
        double r987125 = 20.0;
        double r987126 = r987093 * r987125;
        double r987127 = r987126 - r987098;
        double r987128 = r987127 + r987111;
        double r987129 = r987124 + r987128;
        double r987130 = r987109 * r987105;
        double r987131 = r987130 + r987130;
        double r987132 = r987101 * r987105;
        double r987133 = fma(r987099, r987109, r987132);
        double r987134 = r987131 + r987133;
        double r987135 = r987096 * r987093;
        double r987136 = fma(r987125, r987097, r987135);
        double r987137 = r987136 + r987114;
        double r987138 = r987134 + r987137;
        double r987139 = /* ERROR: no complex support in C */;
        double r987140 = r987117 * r987139;
        double r987141 = r987116 + r987140;
        double r987142 = r987102 + r987141;
        double r987143 = /* ERROR: no complex support in C */;
        return r987143;
}

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(15 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - 0.0 \cdot \left(-1 \cdot 1 + -1 \cdot 1\right)\right)\right) + \left(0.0 + \mathsf{fma}\left(15, -1 \cdot 1 + -1 \cdot 1, \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 0.0\right)\right) i\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(-1 \cdot 1 + -1 \cdot 1\right) i\right) \cdot \left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(-1 \cdot 1 + -1 \cdot 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(-1 \cdot 1 + -1 \cdot 1\right)\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(-1 \cdot 6 - 1 \cdot 0.0\right) - \left(-1 \cdot 1 + -1 \cdot 1\right) \cdot \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right)\right)\right) + \left(\left(15 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - 0.0 \cdot \left(-1 \cdot 1 + -1 \cdot 1\right)\right) + \left(-1 \cdot 20 - 1 \cdot 0.0\right)\right)\right) + \left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(-1 \cdot 1 + -1 \cdot 1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(-1 \cdot 1 + -1 \cdot 1\right)\right) + \mathsf{fma}\left(-1 \cdot 6 - 1 \cdot 0.0, -1 \cdot 1 + -1 \cdot 1, \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right) + \left(\mathsf{fma}\left(15, -1 \cdot 1 + -1 \cdot 1, \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 0.0\right) + \mathsf{fma}\left(20, 1, 0.0 \cdot -1\right)\right)\right) i\right)\right)\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) i\right)\right))}\]
  3. Final simplification0

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

Reproduce

herbie shell --seed 2019171 +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))))