Average Error: 0 → 0
Time: 23.5s
Precision: 64
\[\Im(\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) + \left(\left(\left(\left(\left(6 + 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) + \left(\left(\left(\left(15 + 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) + \left(\left(\left(20 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(1 + 0 i\right)\right))\]
\[\Im(\left(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))\]
double f() {
        double r2706312 = -1.0;
        double r2706313 = 1.0;
        double r2706314 = /* ERROR: no complex support in C */;
        double r2706315 = r2706314 * r2706314;
        double r2706316 = r2706315 * r2706314;
        double r2706317 = r2706316 * r2706314;
        double r2706318 = r2706317 * r2706314;
        double r2706319 = r2706318 * r2706314;
        double r2706320 = 6.0;
        double r2706321 = 0.0;
        double r2706322 = /* ERROR: no complex support in C */;
        double r2706323 = r2706322 * r2706314;
        double r2706324 = r2706323 * r2706314;
        double r2706325 = r2706324 * r2706314;
        double r2706326 = r2706325 * r2706314;
        double r2706327 = r2706326 * r2706314;
        double r2706328 = r2706319 + r2706327;
        double r2706329 = 15.0;
        double r2706330 = /* ERROR: no complex support in C */;
        double r2706331 = r2706330 * r2706314;
        double r2706332 = r2706331 * r2706314;
        double r2706333 = r2706332 * r2706314;
        double r2706334 = r2706333 * r2706314;
        double r2706335 = r2706328 + r2706334;
        double r2706336 = 20.0;
        double r2706337 = /* ERROR: no complex support in C */;
        double r2706338 = r2706337 * r2706314;
        double r2706339 = r2706338 * r2706314;
        double r2706340 = r2706339 * r2706314;
        double r2706341 = r2706335 + r2706340;
        double r2706342 = r2706341 + r2706332;
        double r2706343 = r2706342 + r2706323;
        double r2706344 = /* ERROR: no complex support in C */;
        double r2706345 = r2706343 + r2706344;
        double r2706346 = /* ERROR: no complex support in C */;
        return r2706346;
}

double f() {
        double r2706347 = -5.0;
        double r2706348 = -24.0;
        double r2706349 = /* ERROR: no complex support in C */;
        double r2706350 = 24.0;
        double r2706351 = /* ERROR: no complex support in C */;
        double r2706352 = 0.0;
        double r2706353 = 8.0;
        double r2706354 = /* ERROR: no complex support in C */;
        double r2706355 = r2706351 + r2706354;
        double r2706356 = 40.0;
        double r2706357 = /* ERROR: no complex support in C */;
        double r2706358 = -60.0;
        double r2706359 = /* ERROR: no complex support in C */;
        double r2706360 = r2706357 + r2706359;
        double r2706361 = r2706355 + r2706360;
        double r2706362 = r2706349 + r2706361;
        double r2706363 = /* ERROR: no complex support in C */;
        return r2706363;
}

\Im(\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) + \left(\left(\left(\left(\left(6 + 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) + \left(\left(\left(\left(15 + 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) + \left(\left(\left(20 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(1 + 0 i\right)\right))
\Im(\left(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))

Error

Derivation

  1. Initial program 0

    \[\Im(\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 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 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 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 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Im(\left(\left(-5 + -24 i\right) + \left(\left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right) + \left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right)\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Im(\left(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))\]

Reproduce

herbie shell --seed 2019101 
(FPCore ()
  :name "3.9.1 imaginary part (p56)"
  (im (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0))))