Average Error: 0 → 0
Time: 20.8s
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(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) + \left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 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(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) + \left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
        double r23236 = -1.0;
        double r23237 = 1.0;
        double r23238 = /* ERROR: no complex support in C */;
        double r23239 = r23238 * r23238;
        double r23240 = r23239 * r23238;
        double r23241 = r23240 * r23238;
        double r23242 = r23241 * r23238;
        double r23243 = r23242 * r23238;
        double r23244 = 6.0;
        double r23245 = 0.0;
        double r23246 = /* ERROR: no complex support in C */;
        double r23247 = r23246 * r23238;
        double r23248 = r23247 * r23238;
        double r23249 = r23248 * r23238;
        double r23250 = r23249 * r23238;
        double r23251 = r23250 * r23238;
        double r23252 = r23243 + r23251;
        double r23253 = 15.0;
        double r23254 = /* ERROR: no complex support in C */;
        double r23255 = r23254 * r23238;
        double r23256 = r23255 * r23238;
        double r23257 = r23256 * r23238;
        double r23258 = r23257 * r23238;
        double r23259 = r23252 + r23258;
        double r23260 = 20.0;
        double r23261 = /* ERROR: no complex support in C */;
        double r23262 = r23261 * r23238;
        double r23263 = r23262 * r23238;
        double r23264 = r23263 * r23238;
        double r23265 = r23259 + r23264;
        double r23266 = r23265 + r23256;
        double r23267 = r23266 + r23247;
        double r23268 = /* ERROR: no complex support in C */;
        double r23269 = r23267 + r23268;
        double r23270 = /* ERROR: no complex support in C */;
        return r23270;
}

double f() {
        double r23271 = 15.0;
        double r23272 = 0.0;
        double r23273 = /* ERROR: no complex support in C */;
        double r23274 = -1.0;
        double r23275 = 1.0;
        double r23276 = /* ERROR: no complex support in C */;
        double r23277 = r23273 * r23276;
        double r23278 = 6.0;
        double r23279 = /* ERROR: no complex support in C */;
        double r23280 = r23277 + r23279;
        double r23281 = r23280 * r23276;
        double r23282 = r23276 + r23279;
        double r23283 = r23276 * r23276;
        double r23284 = r23276 * r23283;
        double r23285 = r23282 * r23284;
        double r23286 = 20.0;
        double r23287 = /* ERROR: no complex support in C */;
        double r23288 = r23287 + r23277;
        double r23289 = r23276 * r23288;
        double r23290 = r23285 + r23289;
        double r23291 = r23290 * r23283;
        double r23292 = r23281 + r23291;
        double r23293 = /* ERROR: no complex support in C */;
        double r23294 = r23292 + r23293;
        double r23295 = /* ERROR: no complex support in C */;
        return r23295;
}

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

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

Reproduce

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