#include<iostream> // std::cout, std::endl
#include<cstdio> // getchar
#include<cmath> // std::pow, std::abs, std::signbit
float f(float x)
{
float result = -5.0f * x * x - 2.0f * x + 1.0f;
float intermediate = std::pow(std::abs(result),1.0f/3.0f);
if (std::signbit(result))
return -intermediate; // Negate if 'result' is negative
return intermediate;
}
int main()
{
std::cout << f(-1) << std::endl;
getchar();
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+IC8vIHN0ZDo6Y291dCwgc3RkOjplbmRsCiNpbmNsdWRlPGNzdGRpbz4gICAvLyBnZXRjaGFyCiNpbmNsdWRlPGNtYXRoPiAgICAvLyBzdGQ6OnBvdywgc3RkOjphYnMsIHN0ZDo6c2lnbmJpdAoKZmxvYXQgZihmbG9hdCB4KQp7CiAgICBmbG9hdCByZXN1bHQgPSAtNS4wZiAqIHggKiB4IC0gMi4wZiAqIHggKyAxLjBmOwogICAgZmxvYXQgaW50ZXJtZWRpYXRlID0gc3RkOjpwb3coc3RkOjphYnMocmVzdWx0KSwxLjBmLzMuMGYpOwogICAgaWYgKHN0ZDo6c2lnbmJpdChyZXN1bHQpKQogICAgICAgIHJldHVybiAtaW50ZXJtZWRpYXRlOyAvLyBOZWdhdGUgaWYgJ3Jlc3VsdCcgaXMgbmVnYXRpdmUKICAgIHJldHVybiBpbnRlcm1lZGlhdGU7Cn0KaW50IG1haW4oKQp7CiAgICBzdGQ6OmNvdXQgPDwgZigtMSkgPDwgc3RkOjplbmRsOwogICAgZ2V0Y2hhcigpOwogICAgcmV0dXJuIDA7Cn0=