#include <stdio.h>
#include <math.h>
int main( ) {
const double K = 3.0 ;
const double L = 12.48 ;
double x, a, b, y, ab, denom_b, denom_y;
for ( int i = 1 ; i <= 3 ; i++ ) {
switch ( i) {
case 1 : x = 2.005 ; break ;
case 2 : x = - 0.437 ; break ;
case 3 : x = - 2.47 ; break ;
default : continue ;
}
if ( x == 0 ) {
printf ( "x = %.3f | Error: x is zero\n " , x
) ; continue ;
}
denom_b
= pow ( 0.842 , 4 ) * sqrt ( 8 * K
) * cos ( 4 * x
) ; if ( fabs ( denom_b
) < 1e-12 ) { printf ( "x = %.3f | Error: denom_b is zero\n " , x
) ; continue ;
}
b
= ( sin ( 2 * x
) * L
* pow ( 5.75 , 1.0 / 3.0 ) ) / denom_b
; ab = a * b;
printf ( "ARGUMENT x = %.3f\n " , x
) ;
if ( ab < 0 ) {
denom_y = 2 * a + 5 * b;
if ( fabs ( denom_y
) < 1e-12 ) { printf ( "Error: denom_y is zero\n " ) ; } else {
y = ( a - 2 * b) / denom_y;
printf ( "RESULT y = %.6f\n " , y
) ; }
} else {
printf ( "RESULT y = %.6f\n " , y
) ; }
printf ( "---------------------------\n " ) ; }
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgbWFpbigpIHsKICAgIGNvbnN0IGRvdWJsZSBLID0gMy4wOwogICAgY29uc3QgZG91YmxlIEwgPSAxMi40ODsKICAgIGRvdWJsZSB4LCBhLCBiLCB5LCBhYiwgZGVub21fYiwgZGVub21feTsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSAzOyBpKyspIHsKICAgICAgICBzd2l0Y2ggKGkpIHsKICAgICAgICAgICAgY2FzZSAxOiB4ID0gMi4wMDU7IGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6IHggPSAtMC40Mzc7IGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6IHggPSAtMi40NzsgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6IGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgaWYgKHggPT0gMCkgewogICAgICAgICAgICBwcmludGYoInggPSAlLjNmIHwgRXJyb3I6IHggaXMgemVyb1xuIiwgeCk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBhID0gdGFuKHBvdyhzcXJ0KEspLCBwb3coSywgMS4wLzMuMCkpKSAtIDEuMC8oMi4wKngpOwogICAgICAgIAogICAgICAgIGRlbm9tX2IgPSBwb3coMC44NDIsIDQpICogc3FydCg4ICogSykgKiBjb3MoNCAqIHgpOwogICAgICAgIGlmIChmYWJzKGRlbm9tX2IpIDwgMWUtMTIpIHsKICAgICAgICAgICAgcHJpbnRmKCJ4ID0gJS4zZiB8IEVycm9yOiBkZW5vbV9iIGlzIHplcm9cbiIsIHgpOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIGIgPSAoc2luKDIgKiB4KSAqIEwgKiBwb3coNS43NSwgMS4wLzMuMCkpIC8gZGVub21fYjsKICAgICAgICBhYiA9IGEgKiBiOwoKICAgICAgICBwcmludGYoIkFSR1VNRU5UIHggPSAlLjNmXG4iLCB4KTsKICAgICAgICBwcmludGYoImEgPSAlLjZmXG4iLCBhKTsKICAgICAgICBwcmludGYoImIgPSAlLjZmXG4iLCBiKTsKICAgICAgICBwcmludGYoImEgKiBiID0gJS42ZlxuIiwgYWIpOwoKICAgICAgICBpZiAoYWIgPCAwKSB7CiAgICAgICAgICAgIGRlbm9tX3kgPSAyICogYSArIDUgKiBiOwogICAgICAgICAgICBpZiAoZmFicyhkZW5vbV95KSA8IDFlLTEyKSB7CiAgICAgICAgICAgICAgICBwcmludGYoIkVycm9yOiBkZW5vbV95IGlzIHplcm9cbiIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgeSA9IChhIC0gMiAqIGIpIC8gZGVub21feTsKICAgICAgICAgICAgICAgIHByaW50ZigiUkVTVUxUIHkgPSAlLjZmXG4iLCB5KTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHkgPSBzcXJ0KGFiKTsKICAgICAgICAgICAgcHJpbnRmKCJSRVNVTFQgeSA9ICUuNmZcbiIsIHkpOwogICAgICAgIH0KICAgICAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=