+int demorgan1(int a, int b) {
+ return (~a) & (~b);
+}
+
+int demorgan2(int a, int b) {
+ return (~a) | (~b);
+}
+
+int eor1(int a, int b) {
+ return a & (a ^ b);
+}
+
+int shl1(int a) {
+ return (a << 3) == (5<<3);
+}
+
+int shl2(int a) {
+ return (a << 3) == 41;
+}
+
+int shr2(unsigned int a) {
+ return (a >> 3) == 5;
+}
+
+int shr3(unsigned int a) {
+ return (a >> 3) == (1 << 29);
+}
+
+int shrs2(int a) {
+ return (a >> 3) == 5;
+}
+
+int shrs3(int a) {
+ return (a >> 3) == -5;
+}
+
+int shrs4(int a) {
+ return (a >> 3) == (1 << 29);
+}
+
+int conv1(signed char a) {
+ return (int)a < 0;
+}
+
+int conv2(unsigned char a) {
+ return (int)a > 0;
+}
+
+int conv3(signed char a) {
+ return (unsigned)a != 0;
+}
+
+int phi1(int x) {
+ int a = x ? 23 : 42;
+ int b = x ? 42 : 23;
+ return a + b;
+}
+
+int phi2(int x) {
+ int a = x ? 16 : 8;
+ int b = x ? 4 : 2;
+ return a / b;
+}
+
+int phi3(int x) {
+ int a = x ? 5 : 9;
+ int b = x ? 2 : 4;
+ return a % b;
+}
+
+int phi4(int x) {
+ int a = x ? 5 : 9;
+ int b = x ? 2 : 4;
+ return (a / b) + (a % b);
+}
+
+int abs1(int x) {
+ return abs(-x);
+}
+