\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(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(20 \cdot -1 - 0.0 \cdot 1\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot \mathsf{fma}\left(20, 1, -1 \cdot 0.0\right)\right) + \mathsf{fma}\left(20 \cdot -1 - 0.0 \cdot 1, \left(-1 + -1\right) \cdot 1, \mathsf{fma}\left(20, 1, -1 \cdot 0.0\right) \cdot \left(\left(-1 + 1\right) \cdot \left(-1 - 1\right)\right)\right) i\right) + \left(\left(\left(\left(\left(6 + \left(-1 \cdot 15 - 0.0 \cdot 1\right)\right) + \left(\mathsf{fma}\left(1, 15, -1 \cdot 0.0\right) + 0.0\right) i\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + \left(-1 + -1\right) \cdot 1 i\right) \cdot \left(\left(\left(-1 \cdot 15 - 0.0 \cdot 1\right) + \mathsf{fma}\left(1, 15, -1 \cdot 0.0\right) i\right) + \left(\left(\left(-1 + 1\right) \cdot \left(-1 - 1\right) + \left(-1 + -1\right) \cdot 1 i\right) \cdot \left(\left(6 + 0.0 i\right) + \left(-1 + 1 i\right)\right)\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(1 + 0.0 i\right)\right)\right))double f() {
double r1760284 = -1.0;
double r1760285 = 1.0;
double r1760286 = /* ERROR: no complex support in C */;
double r1760287 = r1760286 * r1760286;
double r1760288 = r1760287 * r1760286;
double r1760289 = r1760288 * r1760286;
double r1760290 = r1760289 * r1760286;
double r1760291 = r1760290 * r1760286;
double r1760292 = 6.0;
double r1760293 = 0.0;
double r1760294 = /* ERROR: no complex support in C */;
double r1760295 = r1760294 * r1760286;
double r1760296 = r1760295 * r1760286;
double r1760297 = r1760296 * r1760286;
double r1760298 = r1760297 * r1760286;
double r1760299 = r1760298 * r1760286;
double r1760300 = r1760291 + r1760299;
double r1760301 = 15.0;
double r1760302 = /* ERROR: no complex support in C */;
double r1760303 = r1760302 * r1760286;
double r1760304 = r1760303 * r1760286;
double r1760305 = r1760304 * r1760286;
double r1760306 = r1760305 * r1760286;
double r1760307 = r1760300 + r1760306;
double r1760308 = 20.0;
double r1760309 = /* ERROR: no complex support in C */;
double r1760310 = r1760309 * r1760286;
double r1760311 = r1760310 * r1760286;
double r1760312 = r1760311 * r1760286;
double r1760313 = r1760307 + r1760312;
double r1760314 = r1760313 + r1760304;
double r1760315 = r1760314 + r1760295;
double r1760316 = /* ERROR: no complex support in C */;
double r1760317 = r1760315 + r1760316;
double r1760318 = /* ERROR: no complex support in C */;
return r1760318;
}
double f() {
double r1760319 = -1.0;
double r1760320 = 1.0;
double r1760321 = r1760319 + r1760320;
double r1760322 = r1760319 - r1760320;
double r1760323 = r1760321 * r1760322;
double r1760324 = 20.0;
double r1760325 = r1760324 * r1760319;
double r1760326 = 0.0;
double r1760327 = r1760326 * r1760320;
double r1760328 = r1760325 - r1760327;
double r1760329 = r1760323 * r1760328;
double r1760330 = r1760319 + r1760319;
double r1760331 = r1760330 * r1760320;
double r1760332 = r1760319 * r1760326;
double r1760333 = fma(r1760324, r1760320, r1760332);
double r1760334 = r1760331 * r1760333;
double r1760335 = r1760329 - r1760334;
double r1760336 = r1760333 * r1760323;
double r1760337 = fma(r1760328, r1760331, r1760336);
double r1760338 = /* ERROR: no complex support in C */;
double r1760339 = 6.0;
double r1760340 = 15.0;
double r1760341 = r1760319 * r1760340;
double r1760342 = r1760341 - r1760327;
double r1760343 = r1760339 + r1760342;
double r1760344 = fma(r1760320, r1760340, r1760332);
double r1760345 = r1760344 + r1760326;
double r1760346 = /* ERROR: no complex support in C */;
double r1760347 = /* ERROR: no complex support in C */;
double r1760348 = /* ERROR: no complex support in C */;
double r1760349 = /* ERROR: no complex support in C */;
double r1760350 = /* ERROR: no complex support in C */;
double r1760351 = r1760349 + r1760350;
double r1760352 = r1760347 * r1760351;
double r1760353 = r1760348 + r1760352;
double r1760354 = r1760347 * r1760353;
double r1760355 = r1760346 + r1760354;
double r1760356 = r1760355 * r1760350;
double r1760357 = /* ERROR: no complex support in C */;
double r1760358 = r1760356 + r1760357;
double r1760359 = r1760338 + r1760358;
double r1760360 = /* ERROR: no complex support in C */;
return r1760360;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019192 +o rules:numerics
(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))))