\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 r21451 = 1.0;
double r21452 = -r21451;
double r21453 = 2.0;
double r21454 = r21452 / r21453;
double r21455 = 3.0;
double r21456 = sqrt(r21455);
double r21457 = r21456 / r21453;
double r21458 = /* ERROR: no complex support in C */;
double r21459 = r21458 * r21458;
double r21460 = r21459 * r21458;
double r21461 = r21460 * r21458;
double r21462 = -r21453;
double r21463 = 0.0;
double r21464 = /* ERROR: no complex support in C */;
double r21465 = r21464 * r21458;
double r21466 = r21465 * r21458;
double r21467 = r21466 * r21458;
double r21468 = r21461 + r21467;
double r21469 = 5.0;
double r21470 = /* ERROR: no complex support in C */;
double r21471 = r21470 * r21458;
double r21472 = r21471 * r21458;
double r21473 = r21468 + r21472;
double r21474 = 4.0;
double r21475 = /* ERROR: no complex support in C */;
double r21476 = r21475 * r21458;
double r21477 = r21473 + r21476;
double r21478 = 7.0;
double r21479 = /* ERROR: no complex support in C */;
double r21480 = r21477 + r21479;
double r21481 = /* ERROR: no complex support in C */;
return r21481;
}
double f() {
double r21482 = 1.0;
double r21483 = -r21482;
double r21484 = 2.0;
double r21485 = r21483 / r21484;
double r21486 = 3.0;
double r21487 = sqrt(r21486);
double r21488 = r21487 / r21484;
double r21489 = /* ERROR: no complex support in C */;
double r21490 = r21489 * r21489;
double r21491 = r21490 * r21489;
double r21492 = r21491 * r21489;
double r21493 = -r21484;
double r21494 = 0.0;
double r21495 = /* ERROR: no complex support in C */;
double r21496 = r21495 * r21489;
double r21497 = r21496 * r21489;
double r21498 = r21497 * r21489;
double r21499 = r21492 + r21498;
double r21500 = 5.0;
double r21501 = /* ERROR: no complex support in C */;
double r21502 = r21501 * r21489;
double r21503 = r21502 * r21489;
double r21504 = r21499 + r21503;
double r21505 = 4.0;
double r21506 = /* ERROR: no complex support in C */;
double r21507 = r21506 * r21489;
double r21508 = r21504 + r21507;
double r21509 = 7.0;
double r21510 = /* ERROR: no complex support in C */;
double r21511 = r21508 + r21510;
double r21512 = /* ERROR: no complex support in C */;
return r21512;
}
Initial program 0
Final simplification0
herbie shell --seed 2019351 +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))))