Average Error: 0 → 0
Time: 21.9s
Precision: 64
\[\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))\]
\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 r3920207 = 1.0;
        double r3920208 = -r3920207;
        double r3920209 = 2.0;
        double r3920210 = r3920208 / r3920209;
        double r3920211 = 3.0;
        double r3920212 = sqrt(r3920211);
        double r3920213 = r3920212 / r3920209;
        double r3920214 = /* ERROR: no complex support in C */;
        double r3920215 = r3920214 * r3920214;
        double r3920216 = r3920215 * r3920214;
        double r3920217 = r3920216 * r3920214;
        double r3920218 = -r3920209;
        double r3920219 = 0.0;
        double r3920220 = /* ERROR: no complex support in C */;
        double r3920221 = r3920220 * r3920214;
        double r3920222 = r3920221 * r3920214;
        double r3920223 = r3920222 * r3920214;
        double r3920224 = r3920217 + r3920223;
        double r3920225 = 5.0;
        double r3920226 = /* ERROR: no complex support in C */;
        double r3920227 = r3920226 * r3920214;
        double r3920228 = r3920227 * r3920214;
        double r3920229 = r3920224 + r3920228;
        double r3920230 = 4.0;
        double r3920231 = /* ERROR: no complex support in C */;
        double r3920232 = r3920231 * r3920214;
        double r3920233 = r3920229 + r3920232;
        double r3920234 = 7.0;
        double r3920235 = /* ERROR: no complex support in C */;
        double r3920236 = r3920233 + r3920235;
        double r3920237 = /* ERROR: no complex support in C */;
        return r3920237;
}

double f() {
        double r3920238 = 1.0;
        double r3920239 = -r3920238;
        double r3920240 = 2.0;
        double r3920241 = r3920239 / r3920240;
        double r3920242 = 3.0;
        double r3920243 = sqrt(r3920242);
        double r3920244 = r3920243 / r3920240;
        double r3920245 = /* ERROR: no complex support in C */;
        double r3920246 = r3920245 * r3920245;
        double r3920247 = r3920246 * r3920245;
        double r3920248 = r3920245 * r3920247;
        double r3920249 = -r3920240;
        double r3920250 = 0.0;
        double r3920251 = /* ERROR: no complex support in C */;
        double r3920252 = r3920251 * r3920245;
        double r3920253 = r3920245 * r3920252;
        double r3920254 = r3920245 * r3920253;
        double r3920255 = r3920248 + r3920254;
        double r3920256 = 5.0;
        double r3920257 = /* ERROR: no complex support in C */;
        double r3920258 = r3920257 * r3920245;
        double r3920259 = r3920258 * r3920245;
        double r3920260 = r3920255 + r3920259;
        double r3920261 = 4.0;
        double r3920262 = /* ERROR: no complex support in C */;
        double r3920263 = r3920245 * r3920262;
        double r3920264 = r3920260 + r3920263;
        double r3920265 = 7.0;
        double r3920266 = /* ERROR: no complex support in C */;
        double r3920267 = r3920264 + r3920266;
        double r3920268 = /* ERROR: no complex support in C */;
        return r3920268;
}

Error

Derivation

  1. Initial program 0

    \[\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))\]
  2. Final simplification0

    \[\leadsto \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))\]

Reproduce

herbie shell --seed 2019171 
(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))))