\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 r18353 = 1.0;
double r18354 = -r18353;
double r18355 = 2.0;
double r18356 = r18354 / r18355;
double r18357 = 3.0;
double r18358 = sqrt(r18357);
double r18359 = r18358 / r18355;
double r18360 = /* ERROR: no complex support in C */;
double r18361 = r18360 * r18360;
double r18362 = r18361 * r18360;
double r18363 = r18362 * r18360;
double r18364 = -r18355;
double r18365 = 0.0;
double r18366 = /* ERROR: no complex support in C */;
double r18367 = r18366 * r18360;
double r18368 = r18367 * r18360;
double r18369 = r18368 * r18360;
double r18370 = r18363 + r18369;
double r18371 = 5.0;
double r18372 = /* ERROR: no complex support in C */;
double r18373 = r18372 * r18360;
double r18374 = r18373 * r18360;
double r18375 = r18370 + r18374;
double r18376 = 4.0;
double r18377 = /* ERROR: no complex support in C */;
double r18378 = r18377 * r18360;
double r18379 = r18375 + r18378;
double r18380 = 7.0;
double r18381 = /* ERROR: no complex support in C */;
double r18382 = r18379 + r18381;
double r18383 = /* ERROR: no complex support in C */;
return r18383;
}
double f() {
double r18384 = 1.0;
double r18385 = -r18384;
double r18386 = 2.0;
double r18387 = r18385 / r18386;
double r18388 = 3.0;
double r18389 = sqrt(r18388);
double r18390 = r18389 / r18386;
double r18391 = /* ERROR: no complex support in C */;
double r18392 = r18391 * r18391;
double r18393 = r18392 * r18391;
double r18394 = r18393 * r18391;
double r18395 = -r18386;
double r18396 = 0.0;
double r18397 = /* ERROR: no complex support in C */;
double r18398 = r18397 * r18391;
double r18399 = r18398 * r18391;
double r18400 = r18399 * r18391;
double r18401 = r18394 + r18400;
double r18402 = 5.0;
double r18403 = /* ERROR: no complex support in C */;
double r18404 = r18403 * r18391;
double r18405 = r18404 * r18391;
double r18406 = r18401 + r18405;
double r18407 = 4.0;
double r18408 = /* ERROR: no complex support in C */;
double r18409 = r18408 * r18391;
double r18410 = r18406 + r18409;
double r18411 = 7.0;
double r18412 = /* ERROR: no complex support in C */;
double r18413 = r18410 + r18412;
double r18414 = /* ERROR: no complex support in C */;
return r18414;
}
Initial program 0
Final simplification0
herbie shell --seed 2020020
(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))))