\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(-1 + 1 i\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right)\right) + \left(1 + 0.0 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(20 + 0.0 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right)\right)\right)\right)\right))
double f() {
double r20346 = -1.0;
double r20347 = 1.0;
double r20348 = /* ERROR: no complex support in C */;
double r20349 = r20348 * r20348;
double r20350 = r20349 * r20348;
double r20351 = r20350 * r20348;
double r20352 = r20351 * r20348;
double r20353 = r20352 * r20348;
double r20354 = 6.0;
double r20355 = 0.0;
double r20356 = /* ERROR: no complex support in C */;
double r20357 = r20356 * r20348;
double r20358 = r20357 * r20348;
double r20359 = r20358 * r20348;
double r20360 = r20359 * r20348;
double r20361 = r20360 * r20348;
double r20362 = r20353 + r20361;
double r20363 = 15.0;
double r20364 = /* ERROR: no complex support in C */;
double r20365 = r20364 * r20348;
double r20366 = r20365 * r20348;
double r20367 = r20366 * r20348;
double r20368 = r20367 * r20348;
double r20369 = r20362 + r20368;
double r20370 = 20.0;
double r20371 = /* ERROR: no complex support in C */;
double r20372 = r20371 * r20348;
double r20373 = r20372 * r20348;
double r20374 = r20373 * r20348;
double r20375 = r20369 + r20374;
double r20376 = r20375 + r20366;
double r20377 = r20376 + r20357;
double r20378 = /* ERROR: no complex support in C */;
double r20379 = r20377 + r20378;
double r20380 = /* ERROR: no complex support in C */;
return r20380;
}
double f() {
double r20381 = -1.0;
double r20382 = 1.0;
double r20383 = /* ERROR: no complex support in C */;
double r20384 = 15.0;
double r20385 = 0.0;
double r20386 = /* ERROR: no complex support in C */;
double r20387 = r20386 * r20383;
double r20388 = 6.0;
double r20389 = /* ERROR: no complex support in C */;
double r20390 = r20387 + r20389;
double r20391 = r20383 * r20390;
double r20392 = /* ERROR: no complex support in C */;
double r20393 = r20391 + r20392;
double r20394 = r20383 * r20383;
double r20395 = 20.0;
double r20396 = /* ERROR: no complex support in C */;
double r20397 = r20387 + r20396;
double r20398 = r20383 * r20397;
double r20399 = r20383 + r20389;
double r20400 = r20394 * r20399;
double r20401 = r20383 * r20400;
double r20402 = r20398 + r20401;
double r20403 = r20394 * r20402;
double r20404 = r20393 + r20403;
double r20405 = /* ERROR: no complex support in C */;
return r20405;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019306
(FPCore ()
:name "3.9.1 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))