#include <stdio.h>
#include <math.h>
 
double f(double x) {
    return x * x * x - 4;
}
 
int main() {
    double x1 = 1, x2 = 3, x0, f1, f2, f0, E = 1e-8;
    int i;
    f1 = f(x1);
    f2 = f(x2);
    printf("Iter\t x1\t\t x2\t\t x0\t\t f1\t\t f2\t\t f0\n");
    for (i = 1; i <= 3; i++) {
        x0 = x1 - (f1 * (x2 - x1)) / (f2 - f1);
        f0 = f(x0);
        printf("%d\t%.6lf\t%.6lf\t%.6lf\t%.6lf\t%.6lf\t%.6lf\n", i, x1, x2, x0, f1, f2, f0);
        if (f1 * f0 < 0)
            x2 = x0;
        else
            x1 = x0;
        f1 = f(x1);
        f2 = f(x2);
    }
    return 0;
}
 
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgpkb3VibGUgZihkb3VibGUgeCkgewogICAgcmV0dXJuIHggKiB4ICogeCAtIDQ7Cn0KCmludCBtYWluKCkgewogICAgZG91YmxlIHgxID0gMSwgeDIgPSAzLCB4MCwgZjEsIGYyLCBmMCwgRSA9IDFlLTg7CiAgICBpbnQgaTsKICAgIGYxID0gZih4MSk7CiAgICBmMiA9IGYoeDIpOwogICAgcHJpbnRmKCJJdGVyXHQgeDFcdFx0IHgyXHRcdCB4MFx0XHQgZjFcdFx0IGYyXHRcdCBmMFxuIik7CiAgICBmb3IgKGkgPSAxOyBpIDw9IDM7IGkrKykgewogICAgICAgIHgwID0geDEgLSAoZjEgKiAoeDIgLSB4MSkpIC8gKGYyIC0gZjEpOwogICAgICAgIGYwID0gZih4MCk7CiAgICAgICAgcHJpbnRmKCIlZFx0JS42bGZcdCUuNmxmXHQlLjZsZlx0JS42bGZcdCUuNmxmXHQlLjZsZlxuIiwgaSwgeDEsIHgyLCB4MCwgZjEsIGYyLCBmMCk7CiAgICAgICAgaWYgKGYxICogZjAgPCAwKQogICAgICAgICAgICB4MiA9IHgwOwogICAgICAgIGVsc2UKICAgICAgICAgICAgeDEgPSB4MDsKICAgICAgICBmMSA9IGYoeDEpOwogICAgICAgIGYyID0gZih4Mik7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=