\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(\left(\left(1 + \left(\frac{1}{2} \cdot \frac{1}{2} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right)\right) \cdot \left(\frac{1}{2} \cdot \frac{1}{2} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) - \left(\left(-\frac{\frac{\sqrt{3}}{2}}{2}\right) + \left(-\frac{\frac{\sqrt{3}}{2}}{2}\right)\right) \cdot \left(\left(\left(-\frac{\frac{\sqrt{3}}{2}}{2}\right) + \left(-\frac{\frac{\sqrt{3}}{2}}{2}\right)\right) - \frac{\sqrt{3}}{2} \cdot 2\right)\right) + \left(\left(1 + \left(\frac{1}{2} \cdot \frac{1}{2} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right)\right) \cdot \left(\left(-\frac{\frac{\sqrt{3}}{2}}{2}\right) + \left(-\frac{\frac{\sqrt{3}}{2}}{2}\right)\right) + \left(\left(\left(-\frac{\frac{\sqrt{3}}{2}}{2}\right) + \left(-\frac{\frac{\sqrt{3}}{2}}{2}\right)\right) - \frac{\sqrt{3}}{2} \cdot 2\right) \cdot \left(\frac{1}{2} \cdot \frac{1}{2} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right)\right) i\right) + \left(\left(\left(\left(\frac{1}{2} \cdot \frac{1}{2} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) \cdot 5 - \frac{4}{2}\right) + 7\right) + \mathsf{fma}\left(\frac{\sqrt{3}}{2}, 4, 5 \cdot \left(\left(-\frac{\frac{\sqrt{3}}{2}}{2}\right) + \left(-\frac{\frac{\sqrt{3}}{2}}{2}\right)\right)\right) i\right)\right))double f() {
double r4625233 = 1.0;
double r4625234 = -r4625233;
double r4625235 = 2.0;
double r4625236 = r4625234 / r4625235;
double r4625237 = 3.0;
double r4625238 = sqrt(r4625237);
double r4625239 = r4625238 / r4625235;
double r4625240 = /* ERROR: no complex support in C */;
double r4625241 = r4625240 * r4625240;
double r4625242 = r4625241 * r4625240;
double r4625243 = r4625242 * r4625240;
double r4625244 = -r4625235;
double r4625245 = 0.0;
double r4625246 = /* ERROR: no complex support in C */;
double r4625247 = r4625246 * r4625240;
double r4625248 = r4625247 * r4625240;
double r4625249 = r4625248 * r4625240;
double r4625250 = r4625243 + r4625249;
double r4625251 = 5.0;
double r4625252 = /* ERROR: no complex support in C */;
double r4625253 = r4625252 * r4625240;
double r4625254 = r4625253 * r4625240;
double r4625255 = r4625250 + r4625254;
double r4625256 = 4.0;
double r4625257 = /* ERROR: no complex support in C */;
double r4625258 = r4625257 * r4625240;
double r4625259 = r4625255 + r4625258;
double r4625260 = 7.0;
double r4625261 = /* ERROR: no complex support in C */;
double r4625262 = r4625259 + r4625261;
double r4625263 = /* ERROR: no complex support in C */;
return r4625263;
}
double f() {
double r4625264 = 1.0;
double r4625265 = 2.0;
double r4625266 = r4625264 / r4625265;
double r4625267 = r4625266 * r4625266;
double r4625268 = 3.0;
double r4625269 = sqrt(r4625268);
double r4625270 = r4625269 / r4625265;
double r4625271 = r4625270 * r4625270;
double r4625272 = r4625267 - r4625271;
double r4625273 = r4625264 + r4625272;
double r4625274 = r4625273 * r4625272;
double r4625275 = r4625270 / r4625265;
double r4625276 = -r4625275;
double r4625277 = r4625276 + r4625276;
double r4625278 = r4625270 * r4625265;
double r4625279 = r4625277 - r4625278;
double r4625280 = r4625277 * r4625279;
double r4625281 = r4625274 - r4625280;
double r4625282 = r4625273 * r4625277;
double r4625283 = r4625279 * r4625272;
double r4625284 = r4625282 + r4625283;
double r4625285 = /* ERROR: no complex support in C */;
double r4625286 = 5.0;
double r4625287 = r4625272 * r4625286;
double r4625288 = 4.0;
double r4625289 = r4625288 / r4625265;
double r4625290 = r4625287 - r4625289;
double r4625291 = 7.0;
double r4625292 = r4625290 + r4625291;
double r4625293 = r4625286 * r4625277;
double r4625294 = fma(r4625270, r4625288, r4625293);
double r4625295 = /* ERROR: no complex support in C */;
double r4625296 = r4625285 + r4625295;
double r4625297 = /* ERROR: no complex support in C */;
return r4625297;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019134 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))