#include <stdlib.h>
#include <stdio.h>
#include <string.h>
double f( double x, double y)
{
if ( ( x >= 0 ) && ( x < 5 ) ) return 2 * x- y;
if ( ( x< 0 ) && ( y< 0 ) ) return x* x;
else return 5 * y+ 1 ;
}
double g( double x, double y)
{
double f = ( ( x>= 0 ) * ( x< 5 ) + 2 * ( y< 0 ) * ( x< 0 ) ) * ( 2 - ( x>= 0 ) * ( x< 5 ) - 2 * ( y< 0 ) * ( x< 0 ) ) * ( 2 * x- y) + ( ( x>= 0 ) * ( x< 5 ) + 2 * ( y< 0 ) * ( x< 0 ) ) * ( ( x>= 0 ) * ( x< 5 ) + 2 * ( y< 0 ) * ( x< 0 ) - 1 ) * ( x* x) / 2 + ( ( x>= 0 ) * ( x< 5 ) + 2 * ( y< 0 ) * ( x< 0 ) - 1 ) * ( ( x>= 0 ) * ( x< 5 ) + 2 * ( y< 0 ) * ( x< 0 ) - 2 ) * ( 5 * y+ 1 ) / 2 ;
return f;
}
int main( )
{
for ( int i = 0 ; i < 100000 ; ++ i)
{
if ( f
( x
, y
) - g
( x
, y
) ) printf ( "%lf %lf\n " , f
( x
, y
) , g
( x
, y
) ) ; }
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKZG91YmxlIGYoZG91YmxlIHgsIGRvdWJsZSB5KQp7CiAgICBpZiAoKHggPj0gMCkgJiYgKHggPCA1KSkgcmV0dXJuIDIqeC15OwogICAgaWYgKCggeDwwKSAmJiAoeTwwKSkgIHJldHVybiB4Kng7CiAgICBlbHNlIHJldHVybiA1KnkrMTsKfQoKZG91YmxlIGcoZG91YmxlIHgsIGRvdWJsZSB5KQp7CiAgICBkb3VibGUgZiA9ICgoeD49MCkqKHg8NSkrMiooeTwwKSooeDwwKSkqKDItKHg+PTApKih4PDUpLTIqKHk8MCkqKHg8MCkpKigyKngteSkrKCh4Pj0wKSooeDw1KSsyKih5PDApKih4PDApKSooKHg+PTApKih4PDUpKzIqKHk8MCkqKHg8MCktMSkqKHgqeCkvMisoKHg+PTApKih4PDUpKzIqKHk8MCkqKHg8MCktMSkqKCh4Pj0wKSooeDw1KSsyKih5PDApKih4PDApLTIpKig1KnkrMSkvMjsKICAgIHJldHVybiBmOwp9CgppbnQgbWFpbigpCnsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkKICAgIHsKICAgICAgICBkb3VibGUgeCA9IHJhbmQoKSUyMC0xMDsKICAgICAgICBkb3VibGUgeSA9IHJhbmQoKSUyMC0xMDsKCiAgICAgICAgaWYgKGYoeCx5KSAtIGcoeCx5KSkgIHByaW50ZigiJWxmICAgJWxmXG4iLGYoeCx5KSxnKHgseSkpOwogICAgfQp9Cg==