\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(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \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) + \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(15 + 0.0 i\right)\right)\right) + \left(6 + 0.0 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r10289 = -1.0;
double r10290 = 1.0;
double r10291 = /* ERROR: no complex support in C */;
double r10292 = r10291 * r10291;
double r10293 = r10292 * r10291;
double r10294 = r10293 * r10291;
double r10295 = r10294 * r10291;
double r10296 = r10295 * r10291;
double r10297 = 6.0;
double r10298 = 0.0;
double r10299 = /* ERROR: no complex support in C */;
double r10300 = r10299 * r10291;
double r10301 = r10300 * r10291;
double r10302 = r10301 * r10291;
double r10303 = r10302 * r10291;
double r10304 = r10303 * r10291;
double r10305 = r10296 + r10304;
double r10306 = 15.0;
double r10307 = /* ERROR: no complex support in C */;
double r10308 = r10307 * r10291;
double r10309 = r10308 * r10291;
double r10310 = r10309 * r10291;
double r10311 = r10310 * r10291;
double r10312 = r10305 + r10311;
double r10313 = 20.0;
double r10314 = /* ERROR: no complex support in C */;
double r10315 = r10314 * r10291;
double r10316 = r10315 * r10291;
double r10317 = r10316 * r10291;
double r10318 = r10312 + r10317;
double r10319 = r10318 + r10309;
double r10320 = r10319 + r10300;
double r10321 = /* ERROR: no complex support in C */;
double r10322 = r10320 + r10321;
double r10323 = /* ERROR: no complex support in C */;
return r10323;
}
double f() {
double r10324 = -1.0;
double r10325 = 1.0;
double r10326 = /* ERROR: no complex support in C */;
double r10327 = r10326 * r10326;
double r10328 = 15.0;
double r10329 = 0.0;
double r10330 = /* ERROR: no complex support in C */;
double r10331 = r10330 * r10326;
double r10332 = 6.0;
double r10333 = /* ERROR: no complex support in C */;
double r10334 = r10326 + r10333;
double r10335 = r10327 * r10334;
double r10336 = r10331 + r10335;
double r10337 = r10327 * r10336;
double r10338 = r10326 * r10337;
double r10339 = 20.0;
double r10340 = /* ERROR: no complex support in C */;
double r10341 = r10340 * r10326;
double r10342 = r10341 + r10330;
double r10343 = r10326 * r10342;
double r10344 = r10343 + r10333;
double r10345 = r10326 * r10344;
double r10346 = r10338 + r10345;
double r10347 = /* ERROR: no complex support in C */;
double r10348 = r10346 + r10347;
double r10349 = /* ERROR: no complex support in C */;
return r10349;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019304 +o rules:numerics
(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))))