\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \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)\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r1462112 = 1.0;
double r1462113 = -r1462112;
double r1462114 = 2.0;
double r1462115 = r1462113 / r1462114;
double r1462116 = 3.0;
double r1462117 = sqrt(r1462116);
double r1462118 = r1462117 / r1462114;
double r1462119 = /* ERROR: no complex support in C */;
double r1462120 = r1462119 * r1462119;
double r1462121 = r1462120 * r1462119;
double r1462122 = r1462121 * r1462119;
double r1462123 = -r1462114;
double r1462124 = 0.0;
double r1462125 = /* ERROR: no complex support in C */;
double r1462126 = r1462125 * r1462119;
double r1462127 = r1462126 * r1462119;
double r1462128 = r1462127 * r1462119;
double r1462129 = r1462122 + r1462128;
double r1462130 = 5.0;
double r1462131 = /* ERROR: no complex support in C */;
double r1462132 = r1462131 * r1462119;
double r1462133 = r1462132 * r1462119;
double r1462134 = r1462129 + r1462133;
double r1462135 = 4.0;
double r1462136 = /* ERROR: no complex support in C */;
double r1462137 = r1462136 * r1462119;
double r1462138 = r1462134 + r1462137;
double r1462139 = 7.0;
double r1462140 = /* ERROR: no complex support in C */;
double r1462141 = r1462138 + r1462140;
double r1462142 = /* ERROR: no complex support in C */;
return r1462142;
}
double f() {
double r1462143 = 1.0;
double r1462144 = -r1462143;
double r1462145 = 2.0;
double r1462146 = r1462144 / r1462145;
double r1462147 = 3.0;
double r1462148 = sqrt(r1462147);
double r1462149 = r1462148 / r1462145;
double r1462150 = /* ERROR: no complex support in C */;
double r1462151 = r1462150 * r1462150;
double r1462152 = r1462151 * r1462150;
double r1462153 = r1462150 * r1462152;
double r1462154 = -r1462145;
double r1462155 = 0.0;
double r1462156 = /* ERROR: no complex support in C */;
double r1462157 = r1462156 * r1462150;
double r1462158 = r1462150 * r1462157;
double r1462159 = r1462150 * r1462158;
double r1462160 = r1462153 + r1462159;
double r1462161 = 5.0;
double r1462162 = /* ERROR: no complex support in C */;
double r1462163 = r1462162 * r1462150;
double r1462164 = r1462163 * r1462150;
double r1462165 = r1462160 + r1462164;
double r1462166 = 4.0;
double r1462167 = /* ERROR: no complex support in C */;
double r1462168 = r1462150 * r1462167;
double r1462169 = r1462165 + r1462168;
double r1462170 = 7.0;
double r1462171 = /* ERROR: no complex support in C */;
double r1462172 = r1462169 + r1462171;
double r1462173 = /* ERROR: no complex support in C */;
return r1462173;
}
Initial program 0
Final simplification0
herbie shell --seed 2019192 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))