#define F1(a,b,c) ((((long)(b) - (long)(c)) * -2UL) - (long)(a)) #define F2(a,b,c) ((((long)(b) - (long)(c)) * -3UL) - (long)(a)) long f1(long, long, long, long); long f2(long, long, long, long); RET(f1(0, 3, 20, 15) == F1( 3, 20, 15) && f1(0, -100, 80, 23) == F1(-100, 80, 23) && f1(0, 50, -9, -5) == F1( 50, -9, -5) && f1(0, -77, -50, 87) == F1( -77, -50, 87) && f2(0, 3, 20, 15) == F2( 3, 20, 15) && f2(0, -100, 80, 23) == F2(-100, 80, 23) && f2(0, 50, -9, -5) == F2( 50, -9, -5) && f2(0, -77, -50, 87) == F2( -77, -50, 87) && f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) && f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) );