Average Error: 0 → 0
Time: 24.2s
Precision: 64
\[\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.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))\]
\[\Im(\left(\left(\left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(15 \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right) + \left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]
\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.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))
\Im(\left(\left(\left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(15 \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right) + \left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
        double r2712373 = -1.0;
        double r2712374 = 1.0;
        double r2712375 = /* ERROR: no complex support in C */;
        double r2712376 = r2712375 * r2712375;
        double r2712377 = r2712376 * r2712375;
        double r2712378 = r2712377 * r2712375;
        double r2712379 = r2712378 * r2712375;
        double r2712380 = r2712379 * r2712375;
        double r2712381 = 6.0;
        double r2712382 = 0.0;
        double r2712383 = /* ERROR: no complex support in C */;
        double r2712384 = r2712383 * r2712375;
        double r2712385 = r2712384 * r2712375;
        double r2712386 = r2712385 * r2712375;
        double r2712387 = r2712386 * r2712375;
        double r2712388 = r2712387 * r2712375;
        double r2712389 = r2712380 + r2712388;
        double r2712390 = 15.0;
        double r2712391 = /* ERROR: no complex support in C */;
        double r2712392 = r2712391 * r2712375;
        double r2712393 = r2712392 * r2712375;
        double r2712394 = r2712393 * r2712375;
        double r2712395 = r2712394 * r2712375;
        double r2712396 = r2712389 + r2712395;
        double r2712397 = 20.0;
        double r2712398 = /* ERROR: no complex support in C */;
        double r2712399 = r2712398 * r2712375;
        double r2712400 = r2712399 * r2712375;
        double r2712401 = r2712400 * r2712375;
        double r2712402 = r2712396 + r2712401;
        double r2712403 = r2712402 + r2712393;
        double r2712404 = r2712403 + r2712384;
        double r2712405 = /* ERROR: no complex support in C */;
        double r2712406 = r2712404 + r2712405;
        double r2712407 = /* ERROR: no complex support in C */;
        return r2712407;
}

double f() {
        double r2712408 = -1.0;
        double r2712409 = r2712408 * r2712408;
        double r2712410 = 1.0;
        double r2712411 = r2712410 * r2712410;
        double r2712412 = r2712409 - r2712411;
        double r2712413 = r2712410 * r2712408;
        double r2712414 = r2712413 + r2712413;
        double r2712415 = /* ERROR: no complex support in C */;
        double r2712416 = 15.0;
        double r2712417 = r2712416 * r2712412;
        double r2712418 = 0.0;
        double r2712419 = r2712418 * r2712414;
        double r2712420 = r2712417 - r2712419;
        double r2712421 = r2712416 * r2712414;
        double r2712422 = r2712418 * r2712412;
        double r2712423 = r2712421 + r2712422;
        double r2712424 = /* ERROR: no complex support in C */;
        double r2712425 = 20.0;
        double r2712426 = r2712425 * r2712408;
        double r2712427 = r2712418 * r2712410;
        double r2712428 = r2712426 - r2712427;
        double r2712429 = r2712425 * r2712410;
        double r2712430 = r2712418 * r2712408;
        double r2712431 = r2712429 + r2712430;
        double r2712432 = /* ERROR: no complex support in C */;
        double r2712433 = /* ERROR: no complex support in C */;
        double r2712434 = r2712432 + r2712433;
        double r2712435 = r2712424 + r2712434;
        double r2712436 = r2712415 * r2712435;
        double r2712437 = 6.0;
        double r2712438 = r2712437 * r2712408;
        double r2712439 = r2712438 - r2712427;
        double r2712440 = r2712437 * r2712410;
        double r2712441 = r2712440 + r2712430;
        double r2712442 = /* ERROR: no complex support in C */;
        double r2712443 = r2712436 + r2712442;
        double r2712444 = r2712412 * r2712412;
        double r2712445 = r2712414 * r2712414;
        double r2712446 = r2712444 - r2712445;
        double r2712447 = r2712414 * r2712412;
        double r2712448 = r2712447 + r2712447;
        double r2712449 = /* ERROR: no complex support in C */;
        double r2712450 = r2712442 + r2712415;
        double r2712451 = r2712449 * r2712450;
        double r2712452 = r2712443 + r2712451;
        double r2712453 = /* ERROR: no complex support in C */;
        double r2712454 = r2712452 + r2712453;
        double r2712455 = /* ERROR: no complex support in C */;
        return r2712455;
}

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

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

Reproduce

herbie shell --seed 2019174 
(FPCore ()
  :name "3.9.1 imaginary part (p56)"
  (im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (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))))