\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.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.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.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\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.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.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.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r56252 = 1.0;
double r56253 = -r56252;
double r56254 = 2.0;
double r56255 = r56253 / r56254;
double r56256 = 3.0;
double r56257 = sqrt(r56256);
double r56258 = r56257 / r56254;
double r56259 = /* ERROR: no complex support in C */;
double r56260 = r56259 * r56259;
double r56261 = r56260 * r56259;
double r56262 = r56261 * r56259;
double r56263 = -r56254;
double r56264 = 0.0;
double r56265 = /* ERROR: no complex support in C */;
double r56266 = r56265 * r56259;
double r56267 = r56266 * r56259;
double r56268 = r56267 * r56259;
double r56269 = r56262 + r56268;
double r56270 = 5.0;
double r56271 = /* ERROR: no complex support in C */;
double r56272 = r56271 * r56259;
double r56273 = r56272 * r56259;
double r56274 = r56269 + r56273;
double r56275 = 4.0;
double r56276 = /* ERROR: no complex support in C */;
double r56277 = r56276 * r56259;
double r56278 = r56274 + r56277;
double r56279 = 7.0;
double r56280 = /* ERROR: no complex support in C */;
double r56281 = r56278 + r56280;
double r56282 = /* ERROR: no complex support in C */;
return r56282;
}
double f() {
double r56283 = 1.0;
double r56284 = -r56283;
double r56285 = 2.0;
double r56286 = r56284 / r56285;
double r56287 = 3.0;
double r56288 = sqrt(r56287);
double r56289 = r56288 / r56285;
double r56290 = /* ERROR: no complex support in C */;
double r56291 = r56290 * r56290;
double r56292 = r56291 * r56290;
double r56293 = r56292 * r56290;
double r56294 = -r56285;
double r56295 = 0.0;
double r56296 = /* ERROR: no complex support in C */;
double r56297 = r56296 * r56290;
double r56298 = r56297 * r56290;
double r56299 = r56298 * r56290;
double r56300 = r56293 + r56299;
double r56301 = 5.0;
double r56302 = /* ERROR: no complex support in C */;
double r56303 = r56302 * r56290;
double r56304 = r56303 * r56290;
double r56305 = r56300 + r56304;
double r56306 = 4.0;
double r56307 = /* ERROR: no complex support in C */;
double r56308 = r56307 * r56290;
double r56309 = r56305 + r56308;
double r56310 = 7.0;
double r56311 = /* ERROR: no complex support in C */;
double r56312 = r56309 + r56311;
double r56313 = /* ERROR: no complex support in C */;
return r56313;
}
Initial program 0
Final simplification0
herbie shell --seed 2020036 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))