Average Error: 0 → 0
Time: 24.1s
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(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(20 \cdot -1 - 0.0 \cdot 1\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot \mathsf{fma}\left(20, 1, -1 \cdot 0.0\right)\right) + \mathsf{fma}\left(20 \cdot -1 - 0.0 \cdot 1, \left(-1 + -1\right) \cdot 1, \mathsf{fma}\left(20, 1, -1 \cdot 0.0\right) \cdot \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right)\right) i\right) + \left(\left(\left(\left(\left(6 + \left(-1 \cdot 15 - 0.0 \cdot 1\right)\right) + \left(\mathsf{fma}\left(1, 15, -1 \cdot 0.0\right) + 0.0\right) i\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + \left(-1 + -1\right) \cdot 1 i\right) \cdot \left(\left(\left(-1 \cdot 15 - 0.0 \cdot 1\right) + \mathsf{fma}\left(1, 15, -1 \cdot 0.0\right) i\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + \left(-1 + -1\right) \cdot 1 i\right) \cdot \left(\left(6 + 0.0 i\right) + \left(-1 + 1 i\right)\right)\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(1 + 0.0 i\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(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(20 \cdot -1 - 0.0 \cdot 1\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot \mathsf{fma}\left(20, 1, -1 \cdot 0.0\right)\right) + \mathsf{fma}\left(20 \cdot -1 - 0.0 \cdot 1, \left(-1 + -1\right) \cdot 1, \mathsf{fma}\left(20, 1, -1 \cdot 0.0\right) \cdot \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right)\right) i\right) + \left(\left(\left(\left(\left(6 + \left(-1 \cdot 15 - 0.0 \cdot 1\right)\right) + \left(\mathsf{fma}\left(1, 15, -1 \cdot 0.0\right) + 0.0\right) i\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + \left(-1 + -1\right) \cdot 1 i\right) \cdot \left(\left(\left(-1 \cdot 15 - 0.0 \cdot 1\right) + \mathsf{fma}\left(1, 15, -1 \cdot 0.0\right) i\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + \left(-1 + -1\right) \cdot 1 i\right) \cdot \left(\left(6 + 0.0 i\right) + \left(-1 + 1 i\right)\right)\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(1 + 0.0 i\right)\right)\right))
double f() {
        double r1768170 = -1.0;
        double r1768171 = 1.0;
        double r1768172 = /* ERROR: no complex support in C */;
        double r1768173 = r1768172 * r1768172;
        double r1768174 = r1768173 * r1768172;
        double r1768175 = r1768174 * r1768172;
        double r1768176 = r1768175 * r1768172;
        double r1768177 = r1768176 * r1768172;
        double r1768178 = 6.0;
        double r1768179 = 0.0;
        double r1768180 = /* ERROR: no complex support in C */;
        double r1768181 = r1768180 * r1768172;
        double r1768182 = r1768181 * r1768172;
        double r1768183 = r1768182 * r1768172;
        double r1768184 = r1768183 * r1768172;
        double r1768185 = r1768184 * r1768172;
        double r1768186 = r1768177 + r1768185;
        double r1768187 = 15.0;
        double r1768188 = /* ERROR: no complex support in C */;
        double r1768189 = r1768188 * r1768172;
        double r1768190 = r1768189 * r1768172;
        double r1768191 = r1768190 * r1768172;
        double r1768192 = r1768191 * r1768172;
        double r1768193 = r1768186 + r1768192;
        double r1768194 = 20.0;
        double r1768195 = /* ERROR: no complex support in C */;
        double r1768196 = r1768195 * r1768172;
        double r1768197 = r1768196 * r1768172;
        double r1768198 = r1768197 * r1768172;
        double r1768199 = r1768193 + r1768198;
        double r1768200 = r1768199 + r1768190;
        double r1768201 = r1768200 + r1768181;
        double r1768202 = /* ERROR: no complex support in C */;
        double r1768203 = r1768201 + r1768202;
        double r1768204 = /* ERROR: no complex support in C */;
        return r1768204;
}

double f() {
        double r1768205 = -1.0;
        double r1768206 = 1.0;
        double r1768207 = r1768205 + r1768206;
        double r1768208 = r1768205 - r1768206;
        double r1768209 = r1768207 * r1768208;
        double r1768210 = 20.0;
        double r1768211 = r1768210 * r1768205;
        double r1768212 = 0.0;
        double r1768213 = r1768212 * r1768206;
        double r1768214 = r1768211 - r1768213;
        double r1768215 = r1768209 * r1768214;
        double r1768216 = r1768205 + r1768205;
        double r1768217 = r1768216 * r1768206;
        double r1768218 = r1768205 * r1768212;
        double r1768219 = fma(r1768210, r1768206, r1768218);
        double r1768220 = r1768217 * r1768219;
        double r1768221 = r1768215 - r1768220;
        double r1768222 = r1768219 * r1768209;
        double r1768223 = fma(r1768214, r1768217, r1768222);
        double r1768224 = /* ERROR: no complex support in C */;
        double r1768225 = 6.0;
        double r1768226 = 15.0;
        double r1768227 = r1768205 * r1768226;
        double r1768228 = r1768227 - r1768213;
        double r1768229 = r1768225 + r1768228;
        double r1768230 = fma(r1768206, r1768226, r1768218);
        double r1768231 = r1768230 + r1768212;
        double r1768232 = /* ERROR: no complex support in C */;
        double r1768233 = /* ERROR: no complex support in C */;
        double r1768234 = /* ERROR: no complex support in C */;
        double r1768235 = /* ERROR: no complex support in C */;
        double r1768236 = /* ERROR: no complex support in C */;
        double r1768237 = r1768235 + r1768236;
        double r1768238 = r1768233 * r1768237;
        double r1768239 = r1768234 + r1768238;
        double r1768240 = r1768233 * r1768239;
        double r1768241 = r1768232 + r1768240;
        double r1768242 = r1768241 * r1768236;
        double r1768243 = /* ERROR: no complex support in C */;
        double r1768244 = r1768242 + r1768243;
        double r1768245 = r1768224 + r1768244;
        double r1768246 = /* ERROR: no complex support in C */;
        return r1768246;
}

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

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

Reproduce

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