#include <stdio.h>
int main() {
double x, result;
double c2 = 2.0, c3 = 3.0, c4 = 4.0, c5 = 5.0, c1 = 1.0;
printf("Введите x: ");
scanf("%lf", &x);
if (x < 2) {
asm (
"fldl %1;" // загрузить x
"faddl %2;" // прибавить c5 (x + 5)
"fstpl %0;" // сохранить в result
: "=m"(result)
: "m"(x), "m"(c5)
);
}
else if (x < 9) {
asm (
"fldl %1;" // загрузить x
"fmul %%st(0), %%st(0);" // x * x
"fsubl %2;" // вычесть c3 (x^2 - 3)
"fstpl %0;" // сохранить в result
: "=m"(result)
: "m"(x), "m"(c3)
);
}
else {
asm (
"fldl %1;" // загрузить x
"fmull %2;" // умножить на c4 (4x)
"faddl %3;" // прибавить c1 (4x + 1)
"fstpl %0;" // сохранить в result
: "=m"(result)
: "m"(x), "m"(c4), "m"(c1)
);
}
printf("f(x) = %lf\n", result);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSB4LCByZXN1bHQ7CiAgICBkb3VibGUgYzIgPSAyLjAsIGMzID0gMy4wLCBjNCA9IDQuMCwgYzUgPSA1LjAsIGMxID0gMS4wOwoKICAgIHByaW50Zigi0JLQstC10LTQuNGC0LUgeDogIik7CiAgICBzY2FuZigiJWxmIiwgJngpOwoKICAgIGlmICh4IDwgMikgewogICAgICAgIGFzbSAoCiAgICAgICAgICAgICJmbGRsICUxOyIgICAgICAgIC8vINC30LDQs9GA0YPQt9C40YLRjCB4CiAgICAgICAgICAgICJmYWRkbCAlMjsiICAgICAgIC8vINC/0YDQuNCx0LDQstC40YLRjCBjNSAoeCArIDUpCiAgICAgICAgICAgICJmc3RwbCAlMDsiICAgICAgIC8vINGB0L7RhdGA0LDQvdC40YLRjCDQsiByZXN1bHQKICAgICAgICAgICAgOiAiPW0iKHJlc3VsdCkKICAgICAgICAgICAgOiAibSIoeCksICJtIihjNSkKICAgICAgICApOwogICAgfQogICAgZWxzZSBpZiAoeCA8IDkpIHsKICAgICAgICBhc20gKAogICAgICAgICAgICAiZmxkbCAlMTsiICAgICAgICAgICAgICAgIC8vINC30LDQs9GA0YPQt9C40YLRjCB4CiAgICAgICAgICAgICJmbXVsICUlc3QoMCksICUlc3QoMCk7IiAgLy8geCAqIHgKICAgICAgICAgICAgImZzdWJsICUyOyIgICAgICAgICAgICAgICAvLyDQstGL0YfQtdGB0YLRjCBjMyAoeF4yIC0gMykKICAgICAgICAgICAgImZzdHBsICUwOyIgICAgICAgICAgICAgICAvLyDRgdC+0YXRgNCw0L3QuNGC0Ywg0LIgcmVzdWx0CiAgICAgICAgICAgIDogIj1tIihyZXN1bHQpCiAgICAgICAgICAgIDogIm0iKHgpLCAibSIoYzMpCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIGFzbSAoCiAgICAgICAgICAgICJmbGRsICUxOyIgICAgICAgIC8vINC30LDQs9GA0YPQt9C40YLRjCB4CiAgICAgICAgICAgICJmbXVsbCAlMjsiICAgICAgIC8vINGD0LzQvdC+0LbQuNGC0Ywg0L3QsCBjNCAoNHgpCiAgICAgICAgICAgICJmYWRkbCAlMzsiICAgICAgIC8vINC/0YDQuNCx0LDQstC40YLRjCBjMSAoNHggKyAxKQogICAgICAgICAgICAiZnN0cGwgJTA7IiAgICAgICAvLyDRgdC+0YXRgNCw0L3QuNGC0Ywg0LIgcmVzdWx0CiAgICAgICAgICAgIDogIj1tIihyZXN1bHQpCiAgICAgICAgICAgIDogIm0iKHgpLCAibSIoYzQpLCAibSIoYzEpCiAgICAgICAgKTsKICAgIH0KCiAgICBwcmludGYoImYoeCkgPSAlbGZcbiIsIHJlc3VsdCk7CiAgICByZXR1cm4gMDsKfQo=