Average Error: 0 → 0
Time: 20.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(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 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(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
        double r10246 = -1.0;
        double r10247 = 1.0;
        double r10248 = /* ERROR: no complex support in C */;
        double r10249 = r10248 * r10248;
        double r10250 = r10249 * r10248;
        double r10251 = r10250 * r10248;
        double r10252 = r10251 * r10248;
        double r10253 = r10252 * r10248;
        double r10254 = 6.0;
        double r10255 = 0.0;
        double r10256 = /* ERROR: no complex support in C */;
        double r10257 = r10256 * r10248;
        double r10258 = r10257 * r10248;
        double r10259 = r10258 * r10248;
        double r10260 = r10259 * r10248;
        double r10261 = r10260 * r10248;
        double r10262 = r10253 + r10261;
        double r10263 = 15.0;
        double r10264 = /* ERROR: no complex support in C */;
        double r10265 = r10264 * r10248;
        double r10266 = r10265 * r10248;
        double r10267 = r10266 * r10248;
        double r10268 = r10267 * r10248;
        double r10269 = r10262 + r10268;
        double r10270 = 20.0;
        double r10271 = /* ERROR: no complex support in C */;
        double r10272 = r10271 * r10248;
        double r10273 = r10272 * r10248;
        double r10274 = r10273 * r10248;
        double r10275 = r10269 + r10274;
        double r10276 = r10275 + r10266;
        double r10277 = r10276 + r10257;
        double r10278 = /* ERROR: no complex support in C */;
        double r10279 = r10277 + r10278;
        double r10280 = /* ERROR: no complex support in C */;
        return r10280;
}

double f() {
        double r10281 = 6.0;
        double r10282 = 0.0;
        double r10283 = /* ERROR: no complex support in C */;
        double r10284 = -1.0;
        double r10285 = 1.0;
        double r10286 = /* ERROR: no complex support in C */;
        double r10287 = r10283 * r10286;
        double r10288 = 15.0;
        double r10289 = /* ERROR: no complex support in C */;
        double r10290 = r10286 * r10289;
        double r10291 = r10286 * r10290;
        double r10292 = 20.0;
        double r10293 = /* ERROR: no complex support in C */;
        double r10294 = r10293 * r10286;
        double r10295 = r10286 * r10294;
        double r10296 = r10295 * r10286;
        double r10297 = r10286 * r10287;
        double r10298 = r10297 * r10286;
        double r10299 = r10286 * r10298;
        double r10300 = r10299 * r10286;
        double r10301 = r10286 * r10286;
        double r10302 = r10301 * r10286;
        double r10303 = r10286 * r10302;
        double r10304 = r10286 * r10303;
        double r10305 = r10304 * r10286;
        double r10306 = r10300 + r10305;
        double r10307 = r10286 * r10291;
        double r10308 = r10286 * r10307;
        double r10309 = r10306 + r10308;
        double r10310 = r10296 + r10309;
        double r10311 = r10291 + r10310;
        double r10312 = r10287 + r10311;
        double r10313 = /* ERROR: no complex support in C */;
        double r10314 = r10312 + r10313;
        double r10315 = /* ERROR: no complex support in C */;
        return r10315;
}

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. Final simplification0

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

Reproduce

herbie shell --seed 2019196 
(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))))