\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 r33189 = 1.0;
double r33190 = -r33189;
double r33191 = 2.0;
double r33192 = r33190 / r33191;
double r33193 = 3.0;
double r33194 = sqrt(r33193);
double r33195 = r33194 / r33191;
double r33196 = /* ERROR: no complex support in C */;
double r33197 = r33196 * r33196;
double r33198 = r33197 * r33196;
double r33199 = r33198 * r33196;
double r33200 = -r33191;
double r33201 = 0.0;
double r33202 = /* ERROR: no complex support in C */;
double r33203 = r33202 * r33196;
double r33204 = r33203 * r33196;
double r33205 = r33204 * r33196;
double r33206 = r33199 + r33205;
double r33207 = 5.0;
double r33208 = /* ERROR: no complex support in C */;
double r33209 = r33208 * r33196;
double r33210 = r33209 * r33196;
double r33211 = r33206 + r33210;
double r33212 = 4.0;
double r33213 = /* ERROR: no complex support in C */;
double r33214 = r33213 * r33196;
double r33215 = r33211 + r33214;
double r33216 = 7.0;
double r33217 = /* ERROR: no complex support in C */;
double r33218 = r33215 + r33217;
double r33219 = /* ERROR: no complex support in C */;
return r33219;
}
double f() {
double r33220 = 1.0;
double r33221 = -r33220;
double r33222 = 2.0;
double r33223 = r33221 / r33222;
double r33224 = 3.0;
double r33225 = sqrt(r33224);
double r33226 = r33225 / r33222;
double r33227 = /* ERROR: no complex support in C */;
double r33228 = r33227 * r33227;
double r33229 = r33228 * r33227;
double r33230 = r33229 * r33227;
double r33231 = -r33222;
double r33232 = 0.0;
double r33233 = /* ERROR: no complex support in C */;
double r33234 = r33233 * r33227;
double r33235 = r33234 * r33227;
double r33236 = r33235 * r33227;
double r33237 = r33230 + r33236;
double r33238 = 5.0;
double r33239 = /* ERROR: no complex support in C */;
double r33240 = r33239 * r33227;
double r33241 = r33240 * r33227;
double r33242 = r33237 + r33241;
double r33243 = 4.0;
double r33244 = /* ERROR: no complex support in C */;
double r33245 = r33244 * r33227;
double r33246 = r33242 + r33245;
double r33247 = 7.0;
double r33248 = /* ERROR: no complex support in C */;
double r33249 = r33246 + r33248;
double r33250 = /* ERROR: no complex support in C */;
return r33250;
}
Initial program 0
Final simplification0
herbie shell --seed 2020035
(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))))