\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 r1980195 = -1.0;
double r1980196 = 1.0;
double r1980197 = /* ERROR: no complex support in C */;
double r1980198 = r1980197 * r1980197;
double r1980199 = r1980198 * r1980197;
double r1980200 = r1980199 * r1980197;
double r1980201 = r1980200 * r1980197;
double r1980202 = r1980201 * r1980197;
double r1980203 = 6.0;
double r1980204 = 0.0;
double r1980205 = /* ERROR: no complex support in C */;
double r1980206 = r1980205 * r1980197;
double r1980207 = r1980206 * r1980197;
double r1980208 = r1980207 * r1980197;
double r1980209 = r1980208 * r1980197;
double r1980210 = r1980209 * r1980197;
double r1980211 = r1980202 + r1980210;
double r1980212 = 15.0;
double r1980213 = /* ERROR: no complex support in C */;
double r1980214 = r1980213 * r1980197;
double r1980215 = r1980214 * r1980197;
double r1980216 = r1980215 * r1980197;
double r1980217 = r1980216 * r1980197;
double r1980218 = r1980211 + r1980217;
double r1980219 = 20.0;
double r1980220 = /* ERROR: no complex support in C */;
double r1980221 = r1980220 * r1980197;
double r1980222 = r1980221 * r1980197;
double r1980223 = r1980222 * r1980197;
double r1980224 = r1980218 + r1980223;
double r1980225 = r1980224 + r1980215;
double r1980226 = r1980225 + r1980206;
double r1980227 = /* ERROR: no complex support in C */;
double r1980228 = r1980226 + r1980227;
double r1980229 = /* ERROR: no complex support in C */;
return r1980229;
}
double f() {
double r1980230 = -1.0;
double r1980231 = 1.0;
double r1980232 = r1980230 + r1980231;
double r1980233 = r1980230 - r1980231;
double r1980234 = r1980232 * r1980233;
double r1980235 = 20.0;
double r1980236 = r1980235 * r1980230;
double r1980237 = 0.0;
double r1980238 = r1980237 * r1980231;
double r1980239 = r1980236 - r1980238;
double r1980240 = r1980234 * r1980239;
double r1980241 = r1980230 + r1980230;
double r1980242 = r1980241 * r1980231;
double r1980243 = r1980230 * r1980237;
double r1980244 = fma(r1980235, r1980231, r1980243);
double r1980245 = r1980242 * r1980244;
double r1980246 = r1980240 - r1980245;
double r1980247 = r1980244 * r1980234;
double r1980248 = fma(r1980239, r1980242, r1980247);
double r1980249 = /* ERROR: no complex support in C */;
double r1980250 = 6.0;
double r1980251 = 15.0;
double r1980252 = r1980230 * r1980251;
double r1980253 = r1980252 - r1980238;
double r1980254 = r1980250 + r1980253;
double r1980255 = fma(r1980231, r1980251, r1980243);
double r1980256 = r1980255 + r1980237;
double r1980257 = /* ERROR: no complex support in C */;
double r1980258 = /* ERROR: no complex support in C */;
double r1980259 = /* ERROR: no complex support in C */;
double r1980260 = /* ERROR: no complex support in C */;
double r1980261 = /* ERROR: no complex support in C */;
double r1980262 = r1980260 + r1980261;
double r1980263 = r1980258 * r1980262;
double r1980264 = r1980259 + r1980263;
double r1980265 = r1980258 * r1980264;
double r1980266 = r1980257 + r1980265;
double r1980267 = r1980266 * r1980261;
double r1980268 = /* ERROR: no complex support in C */;
double r1980269 = r1980267 + r1980268;
double r1980270 = r1980249 + r1980269;
double r1980271 = /* ERROR: no complex support in C */;
return r1980271;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019172 +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))))