Average Error: 0 → 0
Time: 23.2s
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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\]
\[\Im(\left(\left(\frac{11}{2} + \left(\left(-\sqrt{3}\right) - \frac{\sqrt{3}}{2}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))
\Im(\left(\left(\frac{11}{2} + \left(\left(-\sqrt{3}\right) - \frac{\sqrt{3}}{2}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))
double f() {
        double r338022 = 1.0;
        double r338023 = -r338022;
        double r338024 = 2.0;
        double r338025 = r338023 / r338024;
        double r338026 = 3.0;
        double r338027 = sqrt(r338026);
        double r338028 = r338027 / r338024;
        double r338029 = /* ERROR: no complex support in C */;
        double r338030 = r338029 * r338029;
        double r338031 = r338030 * r338029;
        double r338032 = r338031 * r338029;
        double r338033 = -r338024;
        double r338034 = 0.0;
        double r338035 = /* ERROR: no complex support in C */;
        double r338036 = r338035 * r338029;
        double r338037 = r338036 * r338029;
        double r338038 = r338037 * r338029;
        double r338039 = r338032 + r338038;
        double r338040 = 5.0;
        double r338041 = /* ERROR: no complex support in C */;
        double r338042 = r338041 * r338029;
        double r338043 = r338042 * r338029;
        double r338044 = r338039 + r338043;
        double r338045 = 4.0;
        double r338046 = /* ERROR: no complex support in C */;
        double r338047 = r338046 * r338029;
        double r338048 = r338044 + r338047;
        double r338049 = 7.0;
        double r338050 = /* ERROR: no complex support in C */;
        double r338051 = r338048 + r338050;
        double r338052 = /* ERROR: no complex support in C */;
        return r338052;
}

double f() {
        double r338053 = 5.5;
        double r338054 = 3.0;
        double r338055 = sqrt(r338054);
        double r338056 = -r338055;
        double r338057 = 2.0;
        double r338058 = r338055 / r338057;
        double r338059 = r338056 - r338058;
        double r338060 = /* ERROR: no complex support in C */;
        double r338061 = -0.5;
        double r338062 = -2.0;
        double r338063 = r338055 / r338062;
        double r338064 = /* ERROR: no complex support in C */;
        double r338065 = r338060 * r338064;
        double r338066 = 5.0;
        double r338067 = r338055 * r338057;
        double r338068 = /* ERROR: no complex support in C */;
        double r338069 = r338065 + r338068;
        double r338070 = /* ERROR: no complex support in C */;
        return r338070;
}

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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Im(\left(\left(5 + 2 \cdot \sqrt{3} i\right) + \left(\left(\left(\frac{1}{4} - \frac{3}{4}\right) + \frac{\sqrt{3}}{-2} i\right) \cdot \left(\left(\left(\frac{5}{4} - \frac{3}{4}\right) + 5\right) + \left(-1 \cdot \sqrt{3} - \frac{\sqrt{3}}{2}\right) i\right)\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Im(\left(\left(\frac{11}{2} + \left(\left(-\sqrt{3}\right) - \frac{\sqrt{3}}{2}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))\]

Reproduce

herbie shell --seed 2019152 
(FPCore ()
  :name "3.9.2 imaginary part (p56)"
  (im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))