
is_pow2

signed char
0b00000000 false 0b00001101 false
0b00000001 true 0b00001110 false
0b00000010 true 0b00001111 false
0b00000100 true 0b00010001 false
0b00001000 true 0b00010101 false
0b00010000 true 0b00011101 false
0b00100000 true 0b00101101 false
0b01000000 true 0b01001101 false
0b10000000 true 0b10001101 false

unsigned char
0b00000000 false 0b00001101 false
0b00000001 true 0b00001110 false
0b00000010 true 0b00001111 false
0b00000100 true 0b00010001 false
0b00001000 true 0b00010101 false
0b00010000 true 0b00011101 false
0b00100000 true 0b00101101 false
0b01000000 true 0b01001101 false
0b10000000 true 0b10001101 false

short int
0b0000000000000000 false 0b0000000000001101 false
0b0000000000000001 true 0b0000000000001110 false
0b0000000000000010 true 0b0000000000001111 false
0b0000000000000100 true 0b0000000000010001 false
0b0000000000001000 true 0b0000000000010101 false
0b0000000000010000 true 0b0000000000011101 false
0b0000000000100000 true 0b0000000000101101 false
0b0000000001000000 true 0b0000000001001101 false
0b0000000010000000 true 0b0000000010001101 false
0b0000000100000000 true 0b0000000100001101 false
0b0000001000000000 true 0b0000001000001101 false
0b0000010000000000 true 0b0000010000001101 false
0b0000100000000000 true 0b0000100000001101 false
0b0001000000000000 true 0b0001000000001101 false
0b0010000000000000 true 0b0010000000001101 false
0b0100000000000000 true 0b0100000000001101 false
0b1000000000000000 true 0b1000000000001101 false

unsigned short int
0b0000000000000000 false 0b0000000000001101 false
0b0000000000000001 true 0b0000000000001110 false
0b0000000000000010 true 0b0000000000001111 false
0b0000000000000100 true 0b0000000000010001 false
0b0000000000001000 true 0b0000000000010101 false
0b0000000000010000 true 0b0000000000011101 false
0b0000000000100000 true 0b0000000000101101 false
0b0000000001000000 true 0b0000000001001101 false
0b0000000010000000 true 0b0000000010001101 false
0b0000000100000000 true 0b0000000100001101 false
0b0000001000000000 true 0b0000001000001101 false
0b0000010000000000 true 0b0000010000001101 false
0b0000100000000000 true 0b0000100000001101 false
0b0001000000000000 true 0b0001000000001101 false
0b0010000000000000 true 0b0010000000001101 false
0b0100000000000000 true 0b0100000000001101 false
0b1000000000000000 true 0b1000000000001101 false

int
0b00000000000000000000000000000000 false 0b00000000000000000000000000001101 false
0b00000000000000000000000000000001 true 0b00000000000000000000000000001110 false
0b00000000000000000000000000000010 true 0b00000000000000000000000000001111 false
0b00000000000000000000000000000100 true 0b00000000000000000000000000010001 false
0b00000000000000000000000000001000 true 0b00000000000000000000000000010101 false
0b00000000000000000000000000010000 true 0b00000000000000000000000000011101 false
0b00000000000000000000000000100000 true 0b00000000000000000000000000101101 false
0b00000000000000000000000001000000 true 0b00000000000000000000000001001101 false
0b00000000000000000000000010000000 true 0b00000000000000000000000010001101 false
0b00000000000000000000000100000000 true 0b00000000000000000000000100001101 false
0b00000000000000000000001000000000 true 0b00000000000000000000001000001101 false
0b00000000000000000000010000000000 true 0b00000000000000000000010000001101 false
0b00000000000000000000100000000000 true 0b00000000000000000000100000001101 false
0b00000000000000000001000000000000 true 0b00000000000000000001000000001101 false
0b00000000000000000010000000000000 true 0b00000000000000000010000000001101 false
0b00000000000000000100000000000000 true 0b00000000000000000100000000001101 false
0b00000000000000001000000000000000 true 0b00000000000000001000000000001101 false
0b00000000000000010000000000000000 true 0b00000000000000010000000000001101 false
0b00000000000000100000000000000000 true 0b00000000000000100000000000001101 false
0b00000000000001000000000000000000 true 0b00000000000001000000000000001101 false
0b00000000000010000000000000000000 true 0b00000000000010000000000000001101 false
0b00000000000100000000000000000000 true 0b00000000000100000000000000001101 false
0b00000000001000000000000000000000 true 0b00000000001000000000000000001101 false
0b00000000010000000000000000000000 true 0b00000000010000000000000000001101 false
0b00000000100000000000000000000000 true 0b00000000100000000000000000001101 false
0b00000001000000000000000000000000 true 0b00000001000000000000000000001101 false
0b00000010000000000000000000000000 true 0b00000010000000000000000000001101 false
0b00000100000000000000000000000000 true 0b00000100000000000000000000001101 false
0b00001000000000000000000000000000 true 0b00001000000000000000000000001101 false
0b00010000000000000000000000000000 true 0b00010000000000000000000000001101 false
0b00100000000000000000000000000000 true 0b00100000000000000000000000001101 false
0b01000000000000000000000000000000 true 0b01000000000000000000000000001101 false
0b10000000000000000000000000000000 true 0b10000000000000000000000000001101 false

unsigned int
0b00000000000000000000000000000000 false 0b00000000000000000000000000001101 false
0b00000000000000000000000000000001 true 0b00000000000000000000000000001110 false
0b00000000000000000000000000000010 true 0b00000000000000000000000000001111 false
0b00000000000000000000000000000100 true 0b00000000000000000000000000010001 false
0b00000000000000000000000000001000 true 0b00000000000000000000000000010101 false
0b00000000000000000000000000010000 true 0b00000000000000000000000000011101 false
0b00000000000000000000000000100000 true 0b00000000000000000000000000101101 false
0b00000000000000000000000001000000 true 0b00000000000000000000000001001101 false
0b00000000000000000000000010000000 true 0b00000000000000000000000010001101 false
0b00000000000000000000000100000000 true 0b00000000000000000000000100001101 false
0b00000000000000000000001000000000 true 0b00000000000000000000001000001101 false
0b00000000000000000000010000000000 true 0b00000000000000000000010000001101 false
0b00000000000000000000100000000000 true 0b00000000000000000000100000001101 false
0b00000000000000000001000000000000 true 0b00000000000000000001000000001101 false
0b00000000000000000010000000000000 true 0b00000000000000000010000000001101 false
0b00000000000000000100000000000000 true 0b00000000000000000100000000001101 false
0b00000000000000001000000000000000 true 0b00000000000000001000000000001101 false
0b00000000000000010000000000000000 true 0b00000000000000010000000000001101 false
0b00000000000000100000000000000000 true 0b00000000000000100000000000001101 false
0b00000000000001000000000000000000 true 0b00000000000001000000000000001101 false
0b00000000000010000000000000000000 true 0b00000000000010000000000000001101 false
0b00000000000100000000000000000000 true 0b00000000000100000000000000001101 false
0b00000000001000000000000000000000 true 0b00000000001000000000000000001101 false
0b00000000010000000000000000000000 true 0b00000000010000000000000000001101 false
0b00000000100000000000000000000000 true 0b00000000100000000000000000001101 false
0b00000001000000000000000000000000 true 0b00000001000000000000000000001101 false
0b00000010000000000000000000000000 true 0b00000010000000000000000000001101 false
0b00000100000000000000000000000000 true 0b00000100000000000000000000001101 false
0b00001000000000000000000000000000 true 0b00001000000000000000000000001101 false
0b00010000000000000000000000000000 true 0b00010000000000000000000000001101 false
0b00100000000000000000000000000000 true 0b00100000000000000000000000001101 false
0b01000000000000000000000000000000 true 0b01000000000000000000000000001101 false
0b10000000000000000000000000000000 true 0b10000000000000000000000000001101 false

long int
0b0000000000000000000000000000000000000000000000000000000000000000 false 0b0000000000000000000000000000000000000000000000000000000000001101 false
0b0000000000000000000000000000000000000000000000000000000000000001 true 0b0000000000000000000000000000000000000000000000000000000000001110 false
0b0000000000000000000000000000000000000000000000000000000000000010 true 0b0000000000000000000000000000000000000000000000000000000000001111 false
0b0000000000000000000000000000000000000000000000000000000000000100 true 0b0000000000000000000000000000000000000000000000000000000000010001 false
0b0000000000000000000000000000000000000000000000000000000000001000 true 0b0000000000000000000000000000000000000000000000000000000000010101 false
0b0000000000000000000000000000000000000000000000000000000000010000 true 0b0000000000000000000000000000000000000000000000000000000000011101 false
0b0000000000000000000000000000000000000000000000000000000000100000 true 0b0000000000000000000000000000000000000000000000000000000000101101 false
0b0000000000000000000000000000000000000000000000000000000001000000 true 0b0000000000000000000000000000000000000000000000000000000001001101 false
0b0000000000000000000000000000000000000000000000000000000010000000 true 0b0000000000000000000000000000000000000000000000000000000010001101 false
0b0000000000000000000000000000000000000000000000000000000100000000 true 0b0000000000000000000000000000000000000000000000000000000100001101 false
0b0000000000000000000000000000000000000000000000000000001000000000 true 0b0000000000000000000000000000000000000000000000000000001000001101 false
0b0000000000000000000000000000000000000000000000000000010000000000 true 0b0000000000000000000000000000000000000000000000000000010000001101 false
0b0000000000000000000000000000000000000000000000000000100000000000 true 0b0000000000000000000000000000000000000000000000000000100000001101 false
0b0000000000000000000000000000000000000000000000000001000000000000 true 0b0000000000000000000000000000000000000000000000000001000000001101 false
0b0000000000000000000000000000000000000000000000000010000000000000 true 0b0000000000000000000000000000000000000000000000000010000000001101 false
0b0000000000000000000000000000000000000000000000000100000000000000 true 0b0000000000000000000000000000000000000000000000000100000000001101 false
0b0000000000000000000000000000000000000000000000001000000000000000 true 0b0000000000000000000000000000000000000000000000001000000000001101 false
0b0000000000000000000000000000000000000000000000010000000000000000 true 0b0000000000000000000000000000000000000000000000010000000000001101 false
0b0000000000000000000000000000000000000000000000100000000000000000 true 0b0000000000000000000000000000000000000000000000100000000000001101 false
0b0000000000000000000000000000000000000000000001000000000000000000 true 0b0000000000000000000000000000000000000000000001000000000000001101 false
0b0000000000000000000000000000000000000000000010000000000000000000 true 0b0000000000000000000000000000000000000000000010000000000000001101 false
0b0000000000000000000000000000000000000000000100000000000000000000 true 0b0000000000000000000000000000000000000000000100000000000000001101 false
0b0000000000000000000000000000000000000000001000000000000000000000 true 0b0000000000000000000000000000000000000000001000000000000000001101 false
0b0000000000000000000000000000000000000000010000000000000000000000 true 0b0000000000000000000000000000000000000000010000000000000000001101 false
0b0000000000000000000000000000000000000000100000000000000000000000 true 0b0000000000000000000000000000000000000000100000000000000000001101 false
0b0000000000000000000000000000000000000001000000000000000000000000 true 0b0000000000000000000000000000000000000001000000000000000000001101 false
0b0000000000000000000000000000000000000010000000000000000000000000 true 0b0000000000000000000000000000000000000010000000000000000000001101 false
0b0000000000000000000000000000000000000100000000000000000000000000 true 0b0000000000000000000000000000000000000100000000000000000000001101 false
0b0000000000000000000000000000000000001000000000000000000000000000 true 0b0000000000000000000000000000000000001000000000000000000000001101 false
0b0000000000000000000000000000000000010000000000000000000000000000 true 0b0000000000000000000000000000000000010000000000000000000000001101 false
0b0000000000000000000000000000000000100000000000000000000000000000 true 0b0000000000000000000000000000000000100000000000000000000000001101 false
0b0000000000000000000000000000000001000000000000000000000000000000 true 0b0000000000000000000000000000000001000000000000000000000000001101 false
0b0000000000000000000000000000000010000000000000000000000000000000 true 0b0000000000000000000000000000000010000000000000000000000000001101 false
0b0000000000000000000000000000000100000000000000000000000000000000 true 0b0000000000000000000000000000000100000000000000000000000000001101 false
0b0000000000000000000000000000001000000000000000000000000000000000 true 0b0000000000000000000000000000001000000000000000000000000000001101 false
0b0000000000000000000000000000010000000000000000000000000000000000 true 0b0000000000000000000000000000010000000000000000000000000000001101 false
0b0000000000000000000000000000100000000000000000000000000000000000 true 0b0000000000000000000000000000100000000000000000000000000000001101 false
0b0000000000000000000000000001000000000000000000000000000000000000 true 0b0000000000000000000000000001000000000000000000000000000000001101 false
0b0000000000000000000000000010000000000000000000000000000000000000 true 0b0000000000000000000000000010000000000000000000000000000000001101 false
0b0000000000000000000000000100000000000000000000000000000000000000 true 0b0000000000000000000000000100000000000000000000000000000000001101 false
0b0000000000000000000000001000000000000000000000000000000000000000 true 0b0000000000000000000000001000000000000000000000000000000000001101 false
0b0000000000000000000000010000000000000000000000000000000000000000 true 0b0000000000000000000000010000000000000000000000000000000000001101 false
0b0000000000000000000000100000000000000000000000000000000000000000 true 0b0000000000000000000000100000000000000000000000000000000000001101 false
0b0000000000000000000001000000000000000000000000000000000000000000 true 0b0000000000000000000001000000000000000000000000000000000000001101 false
0b0000000000000000000010000000000000000000000000000000000000000000 true 0b0000000000000000000010000000000000000000000000000000000000001101 false
0b0000000000000000000100000000000000000000000000000000000000000000 true 0b0000000000000000000100000000000000000000000000000000000000001101 false
0b0000000000000000001000000000000000000000000000000000000000000000 true 0b0000000000000000001000000000000000000000000000000000000000001101 false
0b0000000000000000010000000000000000000000000000000000000000000000 true 0b0000000000000000010000000000000000000000000000000000000000001101 false
0b0000000000000000100000000000000000000000000000000000000000000000 true 0b0000000000000000100000000000000000000000000000000000000000001101 false
0b0000000000000001000000000000000000000000000000000000000000000000 true 0b0000000000000001000000000000000000000000000000000000000000001101 false
0b0000000000000010000000000000000000000000000000000000000000000000 true 0b0000000000000010000000000000000000000000000000000000000000001101 false
0b0000000000000100000000000000000000000000000000000000000000000000 true 0b0000000000000100000000000000000000000000000000000000000000001101 false
0b0000000000001000000000000000000000000000000000000000000000000000 true 0b0000000000001000000000000000000000000000000000000000000000001101 false
0b0000000000010000000000000000000000000000000000000000000000000000 true 0b0000000000010000000000000000000000000000000000000000000000001101 false
0b0000000000100000000000000000000000000000000000000000000000000000 true 0b0000000000100000000000000000000000000000000000000000000000001101 false
0b0000000001000000000000000000000000000000000000000000000000000000 true 0b0000000001000000000000000000000000000000000000000000000000001101 false
0b0000000010000000000000000000000000000000000000000000000000000000 true 0b0000000010000000000000000000000000000000000000000000000000001101 false
0b0000000100000000000000000000000000000000000000000000000000000000 true 0b0000000100000000000000000000000000000000000000000000000000001101 false
0b0000001000000000000000000000000000000000000000000000000000000000 true 0b0000001000000000000000000000000000000000000000000000000000001101 false
0b0000010000000000000000000000000000000000000000000000000000000000 true 0b0000010000000000000000000000000000000000000000000000000000001101 false
0b0000100000000000000000000000000000000000000000000000000000000000 true 0b0000100000000000000000000000000000000000000000000000000000001101 false
0b0001000000000000000000000000000000000000000000000000000000000000 true 0b0001000000000000000000000000000000000000000000000000000000001101 false
0b0010000000000000000000000000000000000000000000000000000000000000 true 0b0010000000000000000000000000000000000000000000000000000000001101 false
0b0100000000000000000000000000000000000000000000000000000000000000 true 0b0100000000000000000000000000000000000000000000000000000000001101 false
0b1000000000000000000000000000000000000000000000000000000000000000 true 0b1000000000000000000000000000000000000000000000000000000000001101 false

unsigned long int
0b0000000000000000000000000000000000000000000000000000000000000000 false 0b0000000000000000000000000000000000000000000000000000000000001101 false
0b0000000000000000000000000000000000000000000000000000000000000001 true 0b0000000000000000000000000000000000000000000000000000000000001110 false
0b0000000000000000000000000000000000000000000000000000000000000010 true 0b0000000000000000000000000000000000000000000000000000000000001111 false
0b0000000000000000000000000000000000000000000000000000000000000100 true 0b0000000000000000000000000000000000000000000000000000000000010001 false
0b0000000000000000000000000000000000000000000000000000000000001000 true 0b0000000000000000000000000000000000000000000000000000000000010101 false
0b0000000000000000000000000000000000000000000000000000000000010000 true 0b0000000000000000000000000000000000000000000000000000000000011101 false
0b0000000000000000000000000000000000000000000000000000000000100000 true 0b0000000000000000000000000000000000000000000000000000000000101101 false
0b0000000000000000000000000000000000000000000000000000000001000000 true 0b0000000000000000000000000000000000000000000000000000000001001101 false
0b0000000000000000000000000000000000000000000000000000000010000000 true 0b0000000000000000000000000000000000000000000000000000000010001101 false
0b0000000000000000000000000000000000000000000000000000000100000000 true 0b0000000000000000000000000000000000000000000000000000000100001101 false
0b0000000000000000000000000000000000000000000000000000001000000000 true 0b0000000000000000000000000000000000000000000000000000001000001101 false
0b0000000000000000000000000000000000000000000000000000010000000000 true 0b0000000000000000000000000000000000000000000000000000010000001101 false
0b0000000000000000000000000000000000000000000000000000100000000000 true 0b0000000000000000000000000000000000000000000000000000100000001101 false
0b0000000000000000000000000000000000000000000000000001000000000000 true 0b0000000000000000000000000000000000000000000000000001000000001101 false
0b0000000000000000000000000000000000000000000000000010000000000000 true 0b0000000000000000000000000000000000000000000000000010000000001101 false
0b0000000000000000000000000000000000000000000000000100000000000000 true 0b0000000000000000000000000000000000000000000000000100000000001101 false
0b0000000000000000000000000000000000000000000000001000000000000000 true 0b0000000000000000000000000000000000000000000000001000000000001101 false
0b0000000000000000000000000000000000000000000000010000000000000000 true 0b0000000000000000000000000000000000000000000000010000000000001101 false
0b0000000000000000000000000000000000000000000000100000000000000000 true 0b0000000000000000000000000000000000000000000000100000000000001101 false
0b0000000000000000000000000000000000000000000001000000000000000000 true 0b0000000000000000000000000000000000000000000001000000000000001101 false
0b0000000000000000000000000000000000000000000010000000000000000000 true 0b0000000000000000000000000000000000000000000010000000000000001101 false
0b0000000000000000000000000000000000000000000100000000000000000000 true 0b0000000000000000000000000000000000000000000100000000000000001101 false
0b0000000000000000000000000000000000000000001000000000000000000000 true 0b0000000000000000000000000000000000000000001000000000000000001101 false
0b0000000000000000000000000000000000000000010000000000000000000000 true 0b0000000000000000000000000000000000000000010000000000000000001101 false
0b0000000000000000000000000000000000000000100000000000000000000000 true 0b0000000000000000000000000000000000000000100000000000000000001101 false
0b0000000000000000000000000000000000000001000000000000000000000000 true 0b0000000000000000000000000000000000000001000000000000000000001101 false
0b0000000000000000000000000000000000000010000000000000000000000000 true 0b0000000000000000000000000000000000000010000000000000000000001101 false
0b0000000000000000000000000000000000000100000000000000000000000000 true 0b0000000000000000000000000000000000000100000000000000000000001101 false
0b0000000000000000000000000000000000001000000000000000000000000000 true 0b0000000000000000000000000000000000001000000000000000000000001101 false
0b0000000000000000000000000000000000010000000000000000000000000000 true 0b0000000000000000000000000000000000010000000000000000000000001101 false
0b0000000000000000000000000000000000100000000000000000000000000000 true 0b0000000000000000000000000000000000100000000000000000000000001101 false
0b0000000000000000000000000000000001000000000000000000000000000000 true 0b0000000000000000000000000000000001000000000000000000000000001101 false
0b0000000000000000000000000000000010000000000000000000000000000000 true 0b0000000000000000000000000000000010000000000000000000000000001101 false
0b0000000000000000000000000000000100000000000000000000000000000000 true 0b0000000000000000000000000000000100000000000000000000000000001101 false
0b0000000000000000000000000000001000000000000000000000000000000000 true 0b0000000000000000000000000000001000000000000000000000000000001101 false
0b0000000000000000000000000000010000000000000000000000000000000000 true 0b0000000000000000000000000000010000000000000000000000000000001101 false
0b0000000000000000000000000000100000000000000000000000000000000000 true 0b0000000000000000000000000000100000000000000000000000000000001101 false
0b0000000000000000000000000001000000000000000000000000000000000000 true 0b0000000000000000000000000001000000000000000000000000000000001101 false
0b0000000000000000000000000010000000000000000000000000000000000000 true 0b0000000000000000000000000010000000000000000000000000000000001101 false
0b0000000000000000000000000100000000000000000000000000000000000000 true 0b0000000000000000000000000100000000000000000000000000000000001101 false
0b0000000000000000000000001000000000000000000000000000000000000000 true 0b0000000000000000000000001000000000000000000000000000000000001101 false
0b0000000000000000000000010000000000000000000000000000000000000000 true 0b0000000000000000000000010000000000000000000000000000000000001101 false
0b0000000000000000000000100000000000000000000000000000000000000000 true 0b0000000000000000000000100000000000000000000000000000000000001101 false
0b0000000000000000000001000000000000000000000000000000000000000000 true 0b0000000000000000000001000000000000000000000000000000000000001101 false
0b0000000000000000000010000000000000000000000000000000000000000000 true 0b0000000000000000000010000000000000000000000000000000000000001101 false
0b0000000000000000000100000000000000000000000000000000000000000000 true 0b0000000000000000000100000000000000000000000000000000000000001101 false
0b0000000000000000001000000000000000000000000000000000000000000000 true 0b0000000000000000001000000000000000000000000000000000000000001101 false
0b0000000000000000010000000000000000000000000000000000000000000000 true 0b0000000000000000010000000000000000000000000000000000000000001101 false
0b0000000000000000100000000000000000000000000000000000000000000000 true 0b0000000000000000100000000000000000000000000000000000000000001101 false
0b0000000000000001000000000000000000000000000000000000000000000000 true 0b0000000000000001000000000000000000000000000000000000000000001101 false
0b0000000000000010000000000000000000000000000000000000000000000000 true 0b0000000000000010000000000000000000000000000000000000000000001101 false
0b0000000000000100000000000000000000000000000000000000000000000000 true 0b0000000000000100000000000000000000000000000000000000000000001101 false
0b0000000000001000000000000000000000000000000000000000000000000000 true 0b0000000000001000000000000000000000000000000000000000000000001101 false
0b0000000000010000000000000000000000000000000000000000000000000000 true 0b0000000000010000000000000000000000000000000000000000000000001101 false
0b0000000000100000000000000000000000000000000000000000000000000000 true 0b0000000000100000000000000000000000000000000000000000000000001101 false
0b0000000001000000000000000000000000000000000000000000000000000000 true 0b0000000001000000000000000000000000000000000000000000000000001101 false
0b0000000010000000000000000000000000000000000000000000000000000000 true 0b0000000010000000000000000000000000000000000000000000000000001101 false
0b0000000100000000000000000000000000000000000000000000000000000000 true 0b0000000100000000000000000000000000000000000000000000000000001101 false
0b0000001000000000000000000000000000000000000000000000000000000000 true 0b0000001000000000000000000000000000000000000000000000000000001101 false
0b0000010000000000000000000000000000000000000000000000000000000000 true 0b0000010000000000000000000000000000000000000000000000000000001101 false
0b0000100000000000000000000000000000000000000000000000000000000000 true 0b0000100000000000000000000000000000000000000000000000000000001101 false
0b0001000000000000000000000000000000000000000000000000000000000000 true 0b0001000000000000000000000000000000000000000000000000000000001101 false
0b0010000000000000000000000000000000000000000000000000000000000000 true 0b0010000000000000000000000000000000000000000000000000000000001101 false
0b0100000000000000000000000000000000000000000000000000000000000000 true 0b0100000000000000000000000000000000000000000000000000000000001101 false
0b1000000000000000000000000000000000000000000000000000000000000000 true 0b1000000000000000000000000000000000000000000000000000000000001101 false

long long int
0b0000000000000000000000000000000000000000000000000000000000000000 false 0b0000000000000000000000000000000000000000000000000000000000001101 false
0b0000000000000000000000000000000000000000000000000000000000000001 true 0b0000000000000000000000000000000000000000000000000000000000001110 false
0b0000000000000000000000000000000000000000000000000000000000000010 true 0b0000000000000000000000000000000000000000000000000000000000001111 false
0b0000000000000000000000000000000000000000000000000000000000000100 true 0b0000000000000000000000000000000000000000000000000000000000010001 false
0b0000000000000000000000000000000000000000000000000000000000001000 true 0b0000000000000000000000000000000000000000000000000000000000010101 false
0b0000000000000000000000000000000000000000000000000000000000010000 true 0b0000000000000000000000000000000000000000000000000000000000011101 false
0b0000000000000000000000000000000000000000000000000000000000100000 true 0b0000000000000000000000000000000000000000000000000000000000101101 false
0b0000000000000000000000000000000000000000000000000000000001000000 true 0b0000000000000000000000000000000000000000000000000000000001001101 false
0b0000000000000000000000000000000000000000000000000000000010000000 true 0b0000000000000000000000000000000000000000000000000000000010001101 false
0b0000000000000000000000000000000000000000000000000000000100000000 true 0b0000000000000000000000000000000000000000000000000000000100001101 false
0b0000000000000000000000000000000000000000000000000000001000000000 true 0b0000000000000000000000000000000000000000000000000000001000001101 false
0b0000000000000000000000000000000000000000000000000000010000000000 true 0b0000000000000000000000000000000000000000000000000000010000001101 false
0b0000000000000000000000000000000000000000000000000000100000000000 true 0b0000000000000000000000000000000000000000000000000000100000001101 false
0b0000000000000000000000000000000000000000000000000001000000000000 true 0b0000000000000000000000000000000000000000000000000001000000001101 false
0b0000000000000000000000000000000000000000000000000010000000000000 true 0b0000000000000000000000000000000000000000000000000010000000001101 false
0b0000000000000000000000000000000000000000000000000100000000000000 true 0b0000000000000000000000000000000000000000000000000100000000001101 false
0b0000000000000000000000000000000000000000000000001000000000000000 true 0b0000000000000000000000000000000000000000000000001000000000001101 false
0b0000000000000000000000000000000000000000000000010000000000000000 true 0b0000000000000000000000000000000000000000000000010000000000001101 false
0b0000000000000000000000000000000000000000000000100000000000000000 true 0b0000000000000000000000000000000000000000000000100000000000001101 false
0b0000000000000000000000000000000000000000000001000000000000000000 true 0b0000000000000000000000000000000000000000000001000000000000001101 false
0b0000000000000000000000000000000000000000000010000000000000000000 true 0b0000000000000000000000000000000000000000000010000000000000001101 false
0b0000000000000000000000000000000000000000000100000000000000000000 true 0b0000000000000000000000000000000000000000000100000000000000001101 false
0b0000000000000000000000000000000000000000001000000000000000000000 true 0b0000000000000000000000000000000000000000001000000000000000001101 false
0b0000000000000000000000000000000000000000010000000000000000000000 true 0b0000000000000000000000000000000000000000010000000000000000001101 false
0b0000000000000000000000000000000000000000100000000000000000000000 true 0b0000000000000000000000000000000000000000100000000000000000001101 false
0b0000000000000000000000000000000000000001000000000000000000000000 true 0b0000000000000000000000000000000000000001000000000000000000001101 false
0b0000000000000000000000000000000000000010000000000000000000000000 true 0b0000000000000000000000000000000000000010000000000000000000001101 false
0b0000000000000000000000000000000000000100000000000000000000000000 true 0b0000000000000000000000000000000000000100000000000000000000001101 false
0b0000000000000000000000000000000000001000000000000000000000000000 true 0b0000000000000000000000000000000000001000000000000000000000001101 false
0b0000000000000000000000000000000000010000000000000000000000000000 true 0b0000000000000000000000000000000000010000000000000000000000001101 false
0b0000000000000000000000000000000000100000000000000000000000000000 true 0b0000000000000000000000000000000000100000000000000000000000001101 false
0b0000000000000000000000000000000001000000000000000000000000000000 true 0b0000000000000000000000000000000001000000000000000000000000001101 false
0b0000000000000000000000000000000010000000000000000000000000000000 true 0b0000000000000000000000000000000010000000000000000000000000001101 false
0b0000000000000000000000000000000100000000000000000000000000000000 true 0b0000000000000000000000000000000100000000000000000000000000001101 false
0b0000000000000000000000000000001000000000000000000000000000000000 true 0b0000000000000000000000000000001000000000000000000000000000001101 false
0b0000000000000000000000000000010000000000000000000000000000000000 true 0b0000000000000000000000000000010000000000000000000000000000001101 false
0b0000000000000000000000000000100000000000000000000000000000000000 true 0b0000000000000000000000000000100000000000000000000000000000001101 false
0b0000000000000000000000000001000000000000000000000000000000000000 true 0b0000000000000000000000000001000000000000000000000000000000001101 false
0b0000000000000000000000000010000000000000000000000000000000000000 true 0b0000000000000000000000000010000000000000000000000000000000001101 false
0b0000000000000000000000000100000000000000000000000000000000000000 true 0b0000000000000000000000000100000000000000000000000000000000001101 false
0b0000000000000000000000001000000000000000000000000000000000000000 true 0b0000000000000000000000001000000000000000000000000000000000001101 false
0b0000000000000000000000010000000000000000000000000000000000000000 true 0b0000000000000000000000010000000000000000000000000000000000001101 false
0b0000000000000000000000100000000000000000000000000000000000000000 true 0b0000000000000000000000100000000000000000000000000000000000001101 false
0b0000000000000000000001000000000000000000000000000000000000000000 true 0b0000000000000000000001000000000000000000000000000000000000001101 false
0b0000000000000000000010000000000000000000000000000000000000000000 true 0b0000000000000000000010000000000000000000000000000000000000001101 false
0b0000000000000000000100000000000000000000000000000000000000000000 true 0b0000000000000000000100000000000000000000000000000000000000001101 false
0b0000000000000000001000000000000000000000000000000000000000000000 true 0b0000000000000000001000000000000000000000000000000000000000001101 false
0b0000000000000000010000000000000000000000000000000000000000000000 true 0b0000000000000000010000000000000000000000000000000000000000001101 false
0b0000000000000000100000000000000000000000000000000000000000000000 true 0b0000000000000000100000000000000000000000000000000000000000001101 false
0b0000000000000001000000000000000000000000000000000000000000000000 true 0b0000000000000001000000000000000000000000000000000000000000001101 false
0b0000000000000010000000000000000000000000000000000000000000000000 true 0b0000000000000010000000000000000000000000000000000000000000001101 false
0b0000000000000100000000000000000000000000000000000000000000000000 true 0b0000000000000100000000000000000000000000000000000000000000001101 false
0b0000000000001000000000000000000000000000000000000000000000000000 true 0b0000000000001000000000000000000000000000000000000000000000001101 false
0b0000000000010000000000000000000000000000000000000000000000000000 true 0b0000000000010000000000000000000000000000000000000000000000001101 false
0b0000000000100000000000000000000000000000000000000000000000000000 true 0b0000000000100000000000000000000000000000000000000000000000001101 false
0b0000000001000000000000000000000000000000000000000000000000000000 true 0b0000000001000000000000000000000000000000000000000000000000001101 false
0b0000000010000000000000000000000000000000000000000000000000000000 true 0b0000000010000000000000000000000000000000000000000000000000001101 false
0b0000000100000000000000000000000000000000000000000000000000000000 true 0b0000000100000000000000000000000000000000000000000000000000001101 false
0b0000001000000000000000000000000000000000000000000000000000000000 true 0b0000001000000000000000000000000000000000000000000000000000001101 false
0b0000010000000000000000000000000000000000000000000000000000000000 true 0b0000010000000000000000000000000000000000000000000000000000001101 false
0b0000100000000000000000000000000000000000000000000000000000000000 true 0b0000100000000000000000000000000000000000000000000000000000001101 false
0b0001000000000000000000000000000000000000000000000000000000000000 true 0b0001000000000000000000000000000000000000000000000000000000001101 false
0b0010000000000000000000000000000000000000000000000000000000000000 true 0b0010000000000000000000000000000000000000000000000000000000001101 false
0b0100000000000000000000000000000000000000000000000000000000000000 true 0b0100000000000000000000000000000000000000000000000000000000001101 false
0b1000000000000000000000000000000000000000000000000000000000000000 true 0b1000000000000000000000000000000000000000000000000000000000001101 false

unsigned long long int
0b0000000000000000000000000000000000000000000000000000000000000000 false 0b0000000000000000000000000000000000000000000000000000000000001101 false
0b0000000000000000000000000000000000000000000000000000000000000001 true 0b0000000000000000000000000000000000000000000000000000000000001110 false
0b0000000000000000000000000000000000000000000000000000000000000010 true 0b0000000000000000000000000000000000000000000000000000000000001111 false
0b0000000000000000000000000000000000000000000000000000000000000100 true 0b0000000000000000000000000000000000000000000000000000000000010001 false
0b0000000000000000000000000000000000000000000000000000000000001000 true 0b0000000000000000000000000000000000000000000000000000000000010101 false
0b0000000000000000000000000000000000000000000000000000000000010000 true 0b0000000000000000000000000000000000000000000000000000000000011101 false
0b0000000000000000000000000000000000000000000000000000000000100000 true 0b0000000000000000000000000000000000000000000000000000000000101101 false
0b0000000000000000000000000000000000000000000000000000000001000000 true 0b0000000000000000000000000000000000000000000000000000000001001101 false
0b0000000000000000000000000000000000000000000000000000000010000000 true 0b0000000000000000000000000000000000000000000000000000000010001101 false
0b0000000000000000000000000000000000000000000000000000000100000000 true 0b0000000000000000000000000000000000000000000000000000000100001101 false
0b0000000000000000000000000000000000000000000000000000001000000000 true 0b0000000000000000000000000000000000000000000000000000001000001101 false
0b0000000000000000000000000000000000000000000000000000010000000000 true 0b0000000000000000000000000000000000000000000000000000010000001101 false
0b0000000000000000000000000000000000000000000000000000100000000000 true 0b0000000000000000000000000000000000000000000000000000100000001101 false
0b0000000000000000000000000000000000000000000000000001000000000000 true 0b0000000000000000000000000000000000000000000000000001000000001101 false
0b0000000000000000000000000000000000000000000000000010000000000000 true 0b0000000000000000000000000000000000000000000000000010000000001101 false
0b0000000000000000000000000000000000000000000000000100000000000000 true 0b0000000000000000000000000000000000000000000000000100000000001101 false
0b0000000000000000000000000000000000000000000000001000000000000000 true 0b0000000000000000000000000000000000000000000000001000000000001101 false
0b0000000000000000000000000000000000000000000000010000000000000000 true 0b0000000000000000000000000000000000000000000000010000000000001101 false
0b0000000000000000000000000000000000000000000000100000000000000000 true 0b0000000000000000000000000000000000000000000000100000000000001101 false
0b0000000000000000000000000000000000000000000001000000000000000000 true 0b0000000000000000000000000000000000000000000001000000000000001101 false
0b0000000000000000000000000000000000000000000010000000000000000000 true 0b0000000000000000000000000000000000000000000010000000000000001101 false
0b0000000000000000000000000000000000000000000100000000000000000000 true 0b0000000000000000000000000000000000000000000100000000000000001101 false
0b0000000000000000000000000000000000000000001000000000000000000000 true 0b0000000000000000000000000000000000000000001000000000000000001101 false
0b0000000000000000000000000000000000000000010000000000000000000000 true 0b0000000000000000000000000000000000000000010000000000000000001101 false
0b0000000000000000000000000000000000000000100000000000000000000000 true 0b0000000000000000000000000000000000000000100000000000000000001101 false
0b0000000000000000000000000000000000000001000000000000000000000000 true 0b0000000000000000000000000000000000000001000000000000000000001101 false
0b0000000000000000000000000000000000000010000000000000000000000000 true 0b0000000000000000000000000000000000000010000000000000000000001101 false
0b0000000000000000000000000000000000000100000000000000000000000000 true 0b0000000000000000000000000000000000000100000000000000000000001101 false
0b0000000000000000000000000000000000001000000000000000000000000000 true 0b0000000000000000000000000000000000001000000000000000000000001101 false
0b0000000000000000000000000000000000010000000000000000000000000000 true 0b0000000000000000000000000000000000010000000000000000000000001101 false
0b0000000000000000000000000000000000100000000000000000000000000000 true 0b0000000000000000000000000000000000100000000000000000000000001101 false
0b0000000000000000000000000000000001000000000000000000000000000000 true 0b0000000000000000000000000000000001000000000000000000000000001101 false
0b0000000000000000000000000000000010000000000000000000000000000000 true 0b0000000000000000000000000000000010000000000000000000000000001101 false
0b0000000000000000000000000000000100000000000000000000000000000000 true 0b0000000000000000000000000000000100000000000000000000000000001101 false
0b0000000000000000000000000000001000000000000000000000000000000000 true 0b0000000000000000000000000000001000000000000000000000000000001101 false
0b0000000000000000000000000000010000000000000000000000000000000000 true 0b0000000000000000000000000000010000000000000000000000000000001101 false
0b0000000000000000000000000000100000000000000000000000000000000000 true 0b0000000000000000000000000000100000000000000000000000000000001101 false
0b0000000000000000000000000001000000000000000000000000000000000000 true 0b0000000000000000000000000001000000000000000000000000000000001101 false
0b0000000000000000000000000010000000000000000000000000000000000000 true 0b0000000000000000000000000010000000000000000000000000000000001101 false
0b0000000000000000000000000100000000000000000000000000000000000000 true 0b0000000000000000000000000100000000000000000000000000000000001101 false
0b0000000000000000000000001000000000000000000000000000000000000000 true 0b0000000000000000000000001000000000000000000000000000000000001101 false
0b0000000000000000000000010000000000000000000000000000000000000000 true 0b0000000000000000000000010000000000000000000000000000000000001101 false
0b0000000000000000000000100000000000000000000000000000000000000000 true 0b0000000000000000000000100000000000000000000000000000000000001101 false
0b0000000000000000000001000000000000000000000000000000000000000000 true 0b0000000000000000000001000000000000000000000000000000000000001101 false
0b0000000000000000000010000000000000000000000000000000000000000000 true 0b0000000000000000000010000000000000000000000000000000000000001101 false
0b0000000000000000000100000000000000000000000000000000000000000000 true 0b0000000000000000000100000000000000000000000000000000000000001101 false
0b0000000000000000001000000000000000000000000000000000000000000000 true 0b0000000000000000001000000000000000000000000000000000000000001101 false
0b0000000000000000010000000000000000000000000000000000000000000000 true 0b0000000000000000010000000000000000000000000000000000000000001101 false
0b0000000000000000100000000000000000000000000000000000000000000000 true 0b0000000000000000100000000000000000000000000000000000000000001101 false
0b0000000000000001000000000000000000000000000000000000000000000000 true 0b0000000000000001000000000000000000000000000000000000000000001101 false
0b0000000000000010000000000000000000000000000000000000000000000000 true 0b0000000000000010000000000000000000000000000000000000000000001101 false
0b0000000000000100000000000000000000000000000000000000000000000000 true 0b0000000000000100000000000000000000000000000000000000000000001101 false
0b0000000000001000000000000000000000000000000000000000000000000000 true 0b0000000000001000000000000000000000000000000000000000000000001101 false
0b0000000000010000000000000000000000000000000000000000000000000000 true 0b0000000000010000000000000000000000000000000000000000000000001101 false
0b0000000000100000000000000000000000000000000000000000000000000000 true 0b0000000000100000000000000000000000000000000000000000000000001101 false
0b0000000001000000000000000000000000000000000000000000000000000000 true 0b0000000001000000000000000000000000000000000000000000000000001101 false
0b0000000010000000000000000000000000000000000000000000000000000000 true 0b0000000010000000000000000000000000000000000000000000000000001101 false
0b0000000100000000000000000000000000000000000000000000000000000000 true 0b0000000100000000000000000000000000000000000000000000000000001101 false
0b0000001000000000000000000000000000000000000000000000000000000000 true 0b0000001000000000000000000000000000000000000000000000000000001101 false
0b0000010000000000000000000000000000000000000000000000000000000000 true 0b0000010000000000000000000000000000000000000000000000000000001101 false
0b0000100000000000000000000000000000000000000000000000000000000000 true 0b0000100000000000000000000000000000000000000000000000000000001101 false
0b0001000000000000000000000000000000000000000000000000000000000000 true 0b0001000000000000000000000000000000000000000000000000000000001101 false
0b0010000000000000000000000000000000000000000000000000000000000000 true 0b0010000000000000000000000000000000000000000000000000000000001101 false
0b0100000000000000000000000000000000000000000000000000000000000000 true 0b0100000000000000000000000000000000000000000000000000000000001101 false
0b1000000000000000000000000000000000000000000000000000000000000000 true 0b1000000000000000000000000000000000000000000000000000000000001101 false


floor2

signed char
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(-2, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(-3, 1) = -3
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(-4, 2) = -4
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(-6, 4) = -8
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(-10, 8) = -16
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(-18, 16) = -32
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(-34, 32) = -64
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(-66, 64) = -128
floor2(-128, -128) = -128, floor2(-126, -128) = -128, floor2(126, -128) = 0

unsigned char
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(254, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(253, 1) = 253
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(252, 2) = 252
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(250, 4) = 248
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(246, 8) = 240
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(238, 16) = 224
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(222, 32) = 192
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(190, 64) = 128
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(126, 128) = 0

short int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(-2, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(-3, 1) = -3
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(-4, 2) = -4
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(-6, 4) = -8
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(-10, 8) = -16
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(-18, 16) = -32
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(-34, 32) = -64
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(-66, 64) = -128
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(-130, 128) = -256
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(-258, 256) = -512
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(-514, 512) = -1024
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(-1026, 1024) = -2048
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(-2050, 2048) = -4096
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(-4098, 4096) = -8192
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(-8194, 8192) = -16384
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(-16386, 16384) = -32768
floor2(-32768, -32768) = -32768, floor2(-32766, -32768) = -32768, floor2(32766, -32768) = 0

unsigned short int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(65534, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(65533, 1) = 65533
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(65532, 2) = 65532
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(65530, 4) = 65528
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(65526, 8) = 65520
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(65518, 16) = 65504
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(65502, 32) = 65472
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(65470, 64) = 65408
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(65406, 128) = 65280
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(65278, 256) = 65024
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(65022, 512) = 64512
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(64510, 1024) = 63488
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(63486, 2048) = 61440
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(61438, 4096) = 57344
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(57342, 8192) = 49152
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(49150, 16384) = 32768
floor2(32768, 32768) = 32768, floor2(32770, 32768) = 32768, floor2(32766, 32768) = 0

int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(-2, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(-3, 1) = -3
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(-4, 2) = -4
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(-6, 4) = -8
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(-10, 8) = -16
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(-18, 16) = -32
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(-34, 32) = -64
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(-66, 64) = -128
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(-130, 128) = -256
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(-258, 256) = -512
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(-514, 512) = -1024
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(-1026, 1024) = -2048
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(-2050, 2048) = -4096
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(-4098, 4096) = -8192
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(-8194, 8192) = -16384
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(-16386, 16384) = -32768
floor2(32768, 32768) = 32768, floor2(32770, 32768) = 32768, floor2(-32770, 32768) = -65536
floor2(65536, 65536) = 65536, floor2(65538, 65536) = 65536, floor2(-65538, 65536) = -131072
floor2(131072, 131072) = 131072, floor2(131074, 131072) = 131072, floor2(-131074, 131072) = -262144
floor2(262144, 262144) = 262144, floor2(262146, 262144) = 262144, floor2(-262146, 262144) = -524288
floor2(524288, 524288) = 524288, floor2(524290, 524288) = 524288, floor2(-524290, 524288) = -1048576
floor2(1048576, 1048576) = 1048576, floor2(1048578, 1048576) = 1048576, floor2(-1048578, 1048576) = -2097152
floor2(2097152, 2097152) = 2097152, floor2(2097154, 2097152) = 2097152, floor2(-2097154, 2097152) = -4194304
floor2(4194304, 4194304) = 4194304, floor2(4194306, 4194304) = 4194304, floor2(-4194306, 4194304) = -8388608
floor2(8388608, 8388608) = 8388608, floor2(8388610, 8388608) = 8388608, floor2(-8388610, 8388608) = -16777216
floor2(16777216, 16777216) = 16777216, floor2(16777218, 16777216) = 16777216, floor2(-16777218, 16777216) = -33554432
floor2(33554432, 33554432) = 33554432, floor2(33554434, 33554432) = 33554432, floor2(-33554434, 33554432) = -67108864
floor2(67108864, 67108864) = 67108864, floor2(67108866, 67108864) = 67108864, floor2(-67108866, 67108864) = -134217728
floor2(134217728, 134217728) = 134217728, floor2(134217730, 134217728) = 134217728, floor2(-134217730, 134217728) = -268435456
floor2(268435456, 268435456) = 268435456, floor2(268435458, 268435456) = 268435456, floor2(-268435458, 268435456) = -536870912
floor2(536870912, 536870912) = 536870912, floor2(536870914, 536870912) = 536870912, floor2(-536870914, 536870912) = -1073741824
floor2(1073741824, 1073741824) = 1073741824, floor2(1073741826, 1073741824) = 1073741824, floor2(-1073741826, 1073741824) = -2147483648
floor2(-2147483648, -2147483648) = -2147483648, floor2(-2147483646, -2147483648) = -2147483648, floor2(2147483646, -2147483648) = 0

unsigned int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(4294967294, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(4294967293, 1) = 4294967293
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(4294967292, 2) = 4294967292
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(4294967290, 4) = 4294967288
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(4294967286, 8) = 4294967280
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(4294967278, 16) = 4294967264
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(4294967262, 32) = 4294967232
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(4294967230, 64) = 4294967168
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(4294967166, 128) = 4294967040
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(4294967038, 256) = 4294966784
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(4294966782, 512) = 4294966272
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(4294966270, 1024) = 4294965248
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(4294965246, 2048) = 4294963200
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(4294963198, 4096) = 4294959104
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(4294959102, 8192) = 4294950912
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(4294950910, 16384) = 4294934528
floor2(32768, 32768) = 32768, floor2(32770, 32768) = 32768, floor2(4294934526, 32768) = 4294901760
floor2(65536, 65536) = 65536, floor2(65538, 65536) = 65536, floor2(4294901758, 65536) = 4294836224
floor2(131072, 131072) = 131072, floor2(131074, 131072) = 131072, floor2(4294836222, 131072) = 4294705152
floor2(262144, 262144) = 262144, floor2(262146, 262144) = 262144, floor2(4294705150, 262144) = 4294443008
floor2(524288, 524288) = 524288, floor2(524290, 524288) = 524288, floor2(4294443006, 524288) = 4293918720
floor2(1048576, 1048576) = 1048576, floor2(1048578, 1048576) = 1048576, floor2(4293918718, 1048576) = 4292870144
floor2(2097152, 2097152) = 2097152, floor2(2097154, 2097152) = 2097152, floor2(4292870142, 2097152) = 4290772992
floor2(4194304, 4194304) = 4194304, floor2(4194306, 4194304) = 4194304, floor2(4290772990, 4194304) = 4286578688
floor2(8388608, 8388608) = 8388608, floor2(8388610, 8388608) = 8388608, floor2(4286578686, 8388608) = 4278190080
floor2(16777216, 16777216) = 16777216, floor2(16777218, 16777216) = 16777216, floor2(4278190078, 16777216) = 4261412864
floor2(33554432, 33554432) = 33554432, floor2(33554434, 33554432) = 33554432, floor2(4261412862, 33554432) = 4227858432
floor2(67108864, 67108864) = 67108864, floor2(67108866, 67108864) = 67108864, floor2(4227858430, 67108864) = 4160749568
floor2(134217728, 134217728) = 134217728, floor2(134217730, 134217728) = 134217728, floor2(4160749566, 134217728) = 4026531840
floor2(268435456, 268435456) = 268435456, floor2(268435458, 268435456) = 268435456, floor2(4026531838, 268435456) = 3758096384
floor2(536870912, 536870912) = 536870912, floor2(536870914, 536870912) = 536870912, floor2(3758096382, 536870912) = 3221225472
floor2(1073741824, 1073741824) = 1073741824, floor2(1073741826, 1073741824) = 1073741824, floor2(3221225470, 1073741824) = 2147483648
floor2(2147483648, 2147483648) = 2147483648, floor2(2147483650, 2147483648) = 2147483648, floor2(2147483646, 2147483648) = 0

long int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(-2, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(-3, 1) = -3
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(-4, 2) = -4
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(-6, 4) = -8
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(-10, 8) = -16
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(-18, 16) = -32
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(-34, 32) = -64
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(-66, 64) = -128
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(-130, 128) = -256
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(-258, 256) = -512
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(-514, 512) = -1024
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(-1026, 1024) = -2048
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(-2050, 2048) = -4096
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(-4098, 4096) = -8192
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(-8194, 8192) = -16384
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(-16386, 16384) = -32768
floor2(32768, 32768) = 32768, floor2(32770, 32768) = 32768, floor2(-32770, 32768) = -65536
floor2(65536, 65536) = 65536, floor2(65538, 65536) = 65536, floor2(-65538, 65536) = -131072
floor2(131072, 131072) = 131072, floor2(131074, 131072) = 131072, floor2(-131074, 131072) = -262144
floor2(262144, 262144) = 262144, floor2(262146, 262144) = 262144, floor2(-262146, 262144) = -524288
floor2(524288, 524288) = 524288, floor2(524290, 524288) = 524288, floor2(-524290, 524288) = -1048576
floor2(1048576, 1048576) = 1048576, floor2(1048578, 1048576) = 1048576, floor2(-1048578, 1048576) = -2097152
floor2(2097152, 2097152) = 2097152, floor2(2097154, 2097152) = 2097152, floor2(-2097154, 2097152) = -4194304
floor2(4194304, 4194304) = 4194304, floor2(4194306, 4194304) = 4194304, floor2(-4194306, 4194304) = -8388608
floor2(8388608, 8388608) = 8388608, floor2(8388610, 8388608) = 8388608, floor2(-8388610, 8388608) = -16777216
floor2(16777216, 16777216) = 16777216, floor2(16777218, 16777216) = 16777216, floor2(-16777218, 16777216) = -33554432
floor2(33554432, 33554432) = 33554432, floor2(33554434, 33554432) = 33554432, floor2(-33554434, 33554432) = -67108864
floor2(67108864, 67108864) = 67108864, floor2(67108866, 67108864) = 67108864, floor2(-67108866, 67108864) = -134217728
floor2(134217728, 134217728) = 134217728, floor2(134217730, 134217728) = 134217728, floor2(-134217730, 134217728) = -268435456
floor2(268435456, 268435456) = 268435456, floor2(268435458, 268435456) = 268435456, floor2(-268435458, 268435456) = -536870912
floor2(536870912, 536870912) = 536870912, floor2(536870914, 536870912) = 536870912, floor2(-536870914, 536870912) = -1073741824
floor2(1073741824, 1073741824) = 1073741824, floor2(1073741826, 1073741824) = 1073741824, floor2(-1073741826, 1073741824) = -2147483648
floor2(2147483648, 2147483648) = 2147483648, floor2(2147483650, 2147483648) = 2147483648, floor2(-2147483650, 2147483648) = -4294967296
floor2(4294967296, 4294967296) = 4294967296, floor2(4294967298, 4294967296) = 4294967296, floor2(-4294967298, 4294967296) = -8589934592
floor2(8589934592, 8589934592) = 8589934592, floor2(8589934594, 8589934592) = 8589934592, floor2(-8589934594, 8589934592) = -17179869184
floor2(17179869184, 17179869184) = 17179869184, floor2(17179869186, 17179869184) = 17179869184, floor2(-17179869186, 17179869184) = -34359738368
floor2(34359738368, 34359738368) = 34359738368, floor2(34359738370, 34359738368) = 34359738368, floor2(-34359738370, 34359738368) = -68719476736
floor2(68719476736, 68719476736) = 68719476736, floor2(68719476738, 68719476736) = 68719476736, floor2(-68719476738, 68719476736) = -137438953472
floor2(137438953472, 137438953472) = 137438953472, floor2(137438953474, 137438953472) = 137438953472, floor2(-137438953474, 137438953472) = -274877906944
floor2(274877906944, 274877906944) = 274877906944, floor2(274877906946, 274877906944) = 274877906944, floor2(-274877906946, 274877906944) = -549755813888
floor2(549755813888, 549755813888) = 549755813888, floor2(549755813890, 549755813888) = 549755813888, floor2(-549755813890, 549755813888) = -1099511627776
floor2(1099511627776, 1099511627776) = 1099511627776, floor2(1099511627778, 1099511627776) = 1099511627776, floor2(-1099511627778, 1099511627776) = -2199023255552
floor2(2199023255552, 2199023255552) = 2199023255552, floor2(2199023255554, 2199023255552) = 2199023255552, floor2(-2199023255554, 2199023255552) = -4398046511104
floor2(4398046511104, 4398046511104) = 4398046511104, floor2(4398046511106, 4398046511104) = 4398046511104, floor2(-4398046511106, 4398046511104) = -8796093022208
floor2(8796093022208, 8796093022208) = 8796093022208, floor2(8796093022210, 8796093022208) = 8796093022208, floor2(-8796093022210, 8796093022208) = -17592186044416
floor2(17592186044416, 17592186044416) = 17592186044416, floor2(17592186044418, 17592186044416) = 17592186044416, floor2(-17592186044418, 17592186044416) = -35184372088832
floor2(35184372088832, 35184372088832) = 35184372088832, floor2(35184372088834, 35184372088832) = 35184372088832, floor2(-35184372088834, 35184372088832) = -70368744177664
floor2(70368744177664, 70368744177664) = 70368744177664, floor2(70368744177666, 70368744177664) = 70368744177664, floor2(-70368744177666, 70368744177664) = -140737488355328
floor2(140737488355328, 140737488355328) = 140737488355328, floor2(140737488355330, 140737488355328) = 140737488355328, floor2(-140737488355330, 140737488355328) = -281474976710656
floor2(281474976710656, 281474976710656) = 281474976710656, floor2(281474976710658, 281474976710656) = 281474976710656, floor2(-281474976710658, 281474976710656) = -562949953421312
floor2(562949953421312, 562949953421312) = 562949953421312, floor2(562949953421314, 562949953421312) = 562949953421312, floor2(-562949953421314, 562949953421312) = -1125899906842624
floor2(1125899906842624, 1125899906842624) = 1125899906842624, floor2(1125899906842626, 1125899906842624) = 1125899906842624, floor2(-1125899906842626, 1125899906842624) = -2251799813685248
floor2(2251799813685248, 2251799813685248) = 2251799813685248, floor2(2251799813685250, 2251799813685248) = 2251799813685248, floor2(-2251799813685250, 2251799813685248) = -4503599627370496
floor2(4503599627370496, 4503599627370496) = 4503599627370496, floor2(4503599627370498, 4503599627370496) = 4503599627370496, floor2(-4503599627370498, 4503599627370496) = -9007199254740992
floor2(9007199254740992, 9007199254740992) = 9007199254740992, floor2(9007199254740994, 9007199254740992) = 9007199254740992, floor2(-9007199254740994, 9007199254740992) = -18014398509481984
floor2(18014398509481984, 18014398509481984) = 18014398509481984, floor2(18014398509481986, 18014398509481984) = 18014398509481984, floor2(-18014398509481986, 18014398509481984) = -36028797018963968
floor2(36028797018963968, 36028797018963968) = 36028797018963968, floor2(36028797018963970, 36028797018963968) = 36028797018963968, floor2(-36028797018963970, 36028797018963968) = -72057594037927936
floor2(72057594037927936, 72057594037927936) = 72057594037927936, floor2(72057594037927938, 72057594037927936) = 72057594037927936, floor2(-72057594037927938, 72057594037927936) = -144115188075855872
floor2(144115188075855872, 144115188075855872) = 144115188075855872, floor2(144115188075855874, 144115188075855872) = 144115188075855872, floor2(-144115188075855874, 144115188075855872) = -288230376151711744
floor2(288230376151711744, 288230376151711744) = 288230376151711744, floor2(288230376151711746, 288230376151711744) = 288230376151711744, floor2(-288230376151711746, 288230376151711744) = -576460752303423488
floor2(576460752303423488, 576460752303423488) = 576460752303423488, floor2(576460752303423490, 576460752303423488) = 576460752303423488, floor2(-576460752303423490, 576460752303423488) = -1152921504606846976
floor2(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor2(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor2(-1152921504606846978, 1152921504606846976) = -2305843009213693952
floor2(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor2(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor2(-2305843009213693954, 2305843009213693952) = -4611686018427387904
floor2(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor2(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor2(-4611686018427387906, 4611686018427387904) = -9223372036854775808
floor2(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor2(-9223372036854775806, -9223372036854775808) = -9223372036854775808, floor2(9223372036854775806, -9223372036854775808) = 0

unsigned long int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(18446744073709551614, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(18446744073709551613, 1) = 18446744073709551613
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(18446744073709551612, 2) = 18446744073709551612
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(18446744073709551610, 4) = 18446744073709551608
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(18446744073709551606, 8) = 18446744073709551600
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(18446744073709551598, 16) = 18446744073709551584
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(18446744073709551582, 32) = 18446744073709551552
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(18446744073709551550, 64) = 18446744073709551488
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(18446744073709551486, 128) = 18446744073709551360
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(18446744073709551358, 256) = 18446744073709551104
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(18446744073709551102, 512) = 18446744073709550592
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(18446744073709550590, 1024) = 18446744073709549568
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(18446744073709549566, 2048) = 18446744073709547520
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(18446744073709547518, 4096) = 18446744073709543424
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(18446744073709543422, 8192) = 18446744073709535232
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(18446744073709535230, 16384) = 18446744073709518848
floor2(32768, 32768) = 32768, floor2(32770, 32768) = 32768, floor2(18446744073709518846, 32768) = 18446744073709486080
floor2(65536, 65536) = 65536, floor2(65538, 65536) = 65536, floor2(18446744073709486078, 65536) = 18446744073709420544
floor2(131072, 131072) = 131072, floor2(131074, 131072) = 131072, floor2(18446744073709420542, 131072) = 18446744073709289472
floor2(262144, 262144) = 262144, floor2(262146, 262144) = 262144, floor2(18446744073709289470, 262144) = 18446744073709027328
floor2(524288, 524288) = 524288, floor2(524290, 524288) = 524288, floor2(18446744073709027326, 524288) = 18446744073708503040
floor2(1048576, 1048576) = 1048576, floor2(1048578, 1048576) = 1048576, floor2(18446744073708503038, 1048576) = 18446744073707454464
floor2(2097152, 2097152) = 2097152, floor2(2097154, 2097152) = 2097152, floor2(18446744073707454462, 2097152) = 18446744073705357312
floor2(4194304, 4194304) = 4194304, floor2(4194306, 4194304) = 4194304, floor2(18446744073705357310, 4194304) = 18446744073701163008
floor2(8388608, 8388608) = 8388608, floor2(8388610, 8388608) = 8388608, floor2(18446744073701163006, 8388608) = 18446744073692774400
floor2(16777216, 16777216) = 16777216, floor2(16777218, 16777216) = 16777216, floor2(18446744073692774398, 16777216) = 18446744073675997184
floor2(33554432, 33554432) = 33554432, floor2(33554434, 33554432) = 33554432, floor2(18446744073675997182, 33554432) = 18446744073642442752
floor2(67108864, 67108864) = 67108864, floor2(67108866, 67108864) = 67108864, floor2(18446744073642442750, 67108864) = 18446744073575333888
floor2(134217728, 134217728) = 134217728, floor2(134217730, 134217728) = 134217728, floor2(18446744073575333886, 134217728) = 18446744073441116160
floor2(268435456, 268435456) = 268435456, floor2(268435458, 268435456) = 268435456, floor2(18446744073441116158, 268435456) = 18446744073172680704
floor2(536870912, 536870912) = 536870912, floor2(536870914, 536870912) = 536870912, floor2(18446744073172680702, 536870912) = 18446744072635809792
floor2(1073741824, 1073741824) = 1073741824, floor2(1073741826, 1073741824) = 1073741824, floor2(18446744072635809790, 1073741824) = 18446744071562067968
floor2(2147483648, 2147483648) = 2147483648, floor2(2147483650, 2147483648) = 2147483648, floor2(18446744071562067966, 2147483648) = 18446744069414584320
floor2(4294967296, 4294967296) = 4294967296, floor2(4294967298, 4294967296) = 4294967296, floor2(18446744069414584318, 4294967296) = 18446744065119617024
floor2(8589934592, 8589934592) = 8589934592, floor2(8589934594, 8589934592) = 8589934592, floor2(18446744065119617022, 8589934592) = 18446744056529682432
floor2(17179869184, 17179869184) = 17179869184, floor2(17179869186, 17179869184) = 17179869184, floor2(18446744056529682430, 17179869184) = 18446744039349813248
floor2(34359738368, 34359738368) = 34359738368, floor2(34359738370, 34359738368) = 34359738368, floor2(18446744039349813246, 34359738368) = 18446744004990074880
floor2(68719476736, 68719476736) = 68719476736, floor2(68719476738, 68719476736) = 68719476736, floor2(18446744004990074878, 68719476736) = 18446743936270598144
floor2(137438953472, 137438953472) = 137438953472, floor2(137438953474, 137438953472) = 137438953472, floor2(18446743936270598142, 137438953472) = 18446743798831644672
floor2(274877906944, 274877906944) = 274877906944, floor2(274877906946, 274877906944) = 274877906944, floor2(18446743798831644670, 274877906944) = 18446743523953737728
floor2(549755813888, 549755813888) = 549755813888, floor2(549755813890, 549755813888) = 549755813888, floor2(18446743523953737726, 549755813888) = 18446742974197923840
floor2(1099511627776, 1099511627776) = 1099511627776, floor2(1099511627778, 1099511627776) = 1099511627776, floor2(18446742974197923838, 1099511627776) = 18446741874686296064
floor2(2199023255552, 2199023255552) = 2199023255552, floor2(2199023255554, 2199023255552) = 2199023255552, floor2(18446741874686296062, 2199023255552) = 18446739675663040512
floor2(4398046511104, 4398046511104) = 4398046511104, floor2(4398046511106, 4398046511104) = 4398046511104, floor2(18446739675663040510, 4398046511104) = 18446735277616529408
floor2(8796093022208, 8796093022208) = 8796093022208, floor2(8796093022210, 8796093022208) = 8796093022208, floor2(18446735277616529406, 8796093022208) = 18446726481523507200
floor2(17592186044416, 17592186044416) = 17592186044416, floor2(17592186044418, 17592186044416) = 17592186044416, floor2(18446726481523507198, 17592186044416) = 18446708889337462784
floor2(35184372088832, 35184372088832) = 35184372088832, floor2(35184372088834, 35184372088832) = 35184372088832, floor2(18446708889337462782, 35184372088832) = 18446673704965373952
floor2(70368744177664, 70368744177664) = 70368744177664, floor2(70368744177666, 70368744177664) = 70368744177664, floor2(18446673704965373950, 70368744177664) = 18446603336221196288
floor2(140737488355328, 140737488355328) = 140737488355328, floor2(140737488355330, 140737488355328) = 140737488355328, floor2(18446603336221196286, 140737488355328) = 18446462598732840960
floor2(281474976710656, 281474976710656) = 281474976710656, floor2(281474976710658, 281474976710656) = 281474976710656, floor2(18446462598732840958, 281474976710656) = 18446181123756130304
floor2(562949953421312, 562949953421312) = 562949953421312, floor2(562949953421314, 562949953421312) = 562949953421312, floor2(18446181123756130302, 562949953421312) = 18445618173802708992
floor2(1125899906842624, 1125899906842624) = 1125899906842624, floor2(1125899906842626, 1125899906842624) = 1125899906842624, floor2(18445618173802708990, 1125899906842624) = 18444492273895866368
floor2(2251799813685248, 2251799813685248) = 2251799813685248, floor2(2251799813685250, 2251799813685248) = 2251799813685248, floor2(18444492273895866366, 2251799813685248) = 18442240474082181120
floor2(4503599627370496, 4503599627370496) = 4503599627370496, floor2(4503599627370498, 4503599627370496) = 4503599627370496, floor2(18442240474082181118, 4503599627370496) = 18437736874454810624
floor2(9007199254740992, 9007199254740992) = 9007199254740992, floor2(9007199254740994, 9007199254740992) = 9007199254740992, floor2(18437736874454810622, 9007199254740992) = 18428729675200069632
floor2(18014398509481984, 18014398509481984) = 18014398509481984, floor2(18014398509481986, 18014398509481984) = 18014398509481984, floor2(18428729675200069630, 18014398509481984) = 18410715276690587648
floor2(36028797018963968, 36028797018963968) = 36028797018963968, floor2(36028797018963970, 36028797018963968) = 36028797018963968, floor2(18410715276690587646, 36028797018963968) = 18374686479671623680
floor2(72057594037927936, 72057594037927936) = 72057594037927936, floor2(72057594037927938, 72057594037927936) = 72057594037927936, floor2(18374686479671623678, 72057594037927936) = 18302628885633695744
floor2(144115188075855872, 144115188075855872) = 144115188075855872, floor2(144115188075855874, 144115188075855872) = 144115188075855872, floor2(18302628885633695742, 144115188075855872) = 18158513697557839872
floor2(288230376151711744, 288230376151711744) = 288230376151711744, floor2(288230376151711746, 288230376151711744) = 288230376151711744, floor2(18158513697557839870, 288230376151711744) = 17870283321406128128
floor2(576460752303423488, 576460752303423488) = 576460752303423488, floor2(576460752303423490, 576460752303423488) = 576460752303423488, floor2(17870283321406128126, 576460752303423488) = 17293822569102704640
floor2(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor2(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor2(17293822569102704638, 1152921504606846976) = 16140901064495857664
floor2(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor2(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor2(16140901064495857662, 2305843009213693952) = 13835058055282163712
floor2(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor2(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor2(13835058055282163710, 4611686018427387904) = 9223372036854775808
floor2(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor2(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor2(9223372036854775806, 9223372036854775808) = 0

long long int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(-2, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(-3, 1) = -3
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(-4, 2) = -4
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(-6, 4) = -8
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(-10, 8) = -16
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(-18, 16) = -32
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(-34, 32) = -64
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(-66, 64) = -128
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(-130, 128) = -256
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(-258, 256) = -512
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(-514, 512) = -1024
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(-1026, 1024) = -2048
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(-2050, 2048) = -4096
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(-4098, 4096) = -8192
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(-8194, 8192) = -16384
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(-16386, 16384) = -32768
floor2(32768, 32768) = 32768, floor2(32770, 32768) = 32768, floor2(-32770, 32768) = -65536
floor2(65536, 65536) = 65536, floor2(65538, 65536) = 65536, floor2(-65538, 65536) = -131072
floor2(131072, 131072) = 131072, floor2(131074, 131072) = 131072, floor2(-131074, 131072) = -262144
floor2(262144, 262144) = 262144, floor2(262146, 262144) = 262144, floor2(-262146, 262144) = -524288
floor2(524288, 524288) = 524288, floor2(524290, 524288) = 524288, floor2(-524290, 524288) = -1048576
floor2(1048576, 1048576) = 1048576, floor2(1048578, 1048576) = 1048576, floor2(-1048578, 1048576) = -2097152
floor2(2097152, 2097152) = 2097152, floor2(2097154, 2097152) = 2097152, floor2(-2097154, 2097152) = -4194304
floor2(4194304, 4194304) = 4194304, floor2(4194306, 4194304) = 4194304, floor2(-4194306, 4194304) = -8388608
floor2(8388608, 8388608) = 8388608, floor2(8388610, 8388608) = 8388608, floor2(-8388610, 8388608) = -16777216
floor2(16777216, 16777216) = 16777216, floor2(16777218, 16777216) = 16777216, floor2(-16777218, 16777216) = -33554432
floor2(33554432, 33554432) = 33554432, floor2(33554434, 33554432) = 33554432, floor2(-33554434, 33554432) = -67108864
floor2(67108864, 67108864) = 67108864, floor2(67108866, 67108864) = 67108864, floor2(-67108866, 67108864) = -134217728
floor2(134217728, 134217728) = 134217728, floor2(134217730, 134217728) = 134217728, floor2(-134217730, 134217728) = -268435456
floor2(268435456, 268435456) = 268435456, floor2(268435458, 268435456) = 268435456, floor2(-268435458, 268435456) = -536870912
floor2(536870912, 536870912) = 536870912, floor2(536870914, 536870912) = 536870912, floor2(-536870914, 536870912) = -1073741824
floor2(1073741824, 1073741824) = 1073741824, floor2(1073741826, 1073741824) = 1073741824, floor2(-1073741826, 1073741824) = -2147483648
floor2(2147483648, 2147483648) = 2147483648, floor2(2147483650, 2147483648) = 2147483648, floor2(-2147483650, 2147483648) = -4294967296
floor2(4294967296, 4294967296) = 4294967296, floor2(4294967298, 4294967296) = 4294967296, floor2(-4294967298, 4294967296) = -8589934592
floor2(8589934592, 8589934592) = 8589934592, floor2(8589934594, 8589934592) = 8589934592, floor2(-8589934594, 8589934592) = -17179869184
floor2(17179869184, 17179869184) = 17179869184, floor2(17179869186, 17179869184) = 17179869184, floor2(-17179869186, 17179869184) = -34359738368
floor2(34359738368, 34359738368) = 34359738368, floor2(34359738370, 34359738368) = 34359738368, floor2(-34359738370, 34359738368) = -68719476736
floor2(68719476736, 68719476736) = 68719476736, floor2(68719476738, 68719476736) = 68719476736, floor2(-68719476738, 68719476736) = -137438953472
floor2(137438953472, 137438953472) = 137438953472, floor2(137438953474, 137438953472) = 137438953472, floor2(-137438953474, 137438953472) = -274877906944
floor2(274877906944, 274877906944) = 274877906944, floor2(274877906946, 274877906944) = 274877906944, floor2(-274877906946, 274877906944) = -549755813888
floor2(549755813888, 549755813888) = 549755813888, floor2(549755813890, 549755813888) = 549755813888, floor2(-549755813890, 549755813888) = -1099511627776
floor2(1099511627776, 1099511627776) = 1099511627776, floor2(1099511627778, 1099511627776) = 1099511627776, floor2(-1099511627778, 1099511627776) = -2199023255552
floor2(2199023255552, 2199023255552) = 2199023255552, floor2(2199023255554, 2199023255552) = 2199023255552, floor2(-2199023255554, 2199023255552) = -4398046511104
floor2(4398046511104, 4398046511104) = 4398046511104, floor2(4398046511106, 4398046511104) = 4398046511104, floor2(-4398046511106, 4398046511104) = -8796093022208
floor2(8796093022208, 8796093022208) = 8796093022208, floor2(8796093022210, 8796093022208) = 8796093022208, floor2(-8796093022210, 8796093022208) = -17592186044416
floor2(17592186044416, 17592186044416) = 17592186044416, floor2(17592186044418, 17592186044416) = 17592186044416, floor2(-17592186044418, 17592186044416) = -35184372088832
floor2(35184372088832, 35184372088832) = 35184372088832, floor2(35184372088834, 35184372088832) = 35184372088832, floor2(-35184372088834, 35184372088832) = -70368744177664
floor2(70368744177664, 70368744177664) = 70368744177664, floor2(70368744177666, 70368744177664) = 70368744177664, floor2(-70368744177666, 70368744177664) = -140737488355328
floor2(140737488355328, 140737488355328) = 140737488355328, floor2(140737488355330, 140737488355328) = 140737488355328, floor2(-140737488355330, 140737488355328) = -281474976710656
floor2(281474976710656, 281474976710656) = 281474976710656, floor2(281474976710658, 281474976710656) = 281474976710656, floor2(-281474976710658, 281474976710656) = -562949953421312
floor2(562949953421312, 562949953421312) = 562949953421312, floor2(562949953421314, 562949953421312) = 562949953421312, floor2(-562949953421314, 562949953421312) = -1125899906842624
floor2(1125899906842624, 1125899906842624) = 1125899906842624, floor2(1125899906842626, 1125899906842624) = 1125899906842624, floor2(-1125899906842626, 1125899906842624) = -2251799813685248
floor2(2251799813685248, 2251799813685248) = 2251799813685248, floor2(2251799813685250, 2251799813685248) = 2251799813685248, floor2(-2251799813685250, 2251799813685248) = -4503599627370496
floor2(4503599627370496, 4503599627370496) = 4503599627370496, floor2(4503599627370498, 4503599627370496) = 4503599627370496, floor2(-4503599627370498, 4503599627370496) = -9007199254740992
floor2(9007199254740992, 9007199254740992) = 9007199254740992, floor2(9007199254740994, 9007199254740992) = 9007199254740992, floor2(-9007199254740994, 9007199254740992) = -18014398509481984
floor2(18014398509481984, 18014398509481984) = 18014398509481984, floor2(18014398509481986, 18014398509481984) = 18014398509481984, floor2(-18014398509481986, 18014398509481984) = -36028797018963968
floor2(36028797018963968, 36028797018963968) = 36028797018963968, floor2(36028797018963970, 36028797018963968) = 36028797018963968, floor2(-36028797018963970, 36028797018963968) = -72057594037927936
floor2(72057594037927936, 72057594037927936) = 72057594037927936, floor2(72057594037927938, 72057594037927936) = 72057594037927936, floor2(-72057594037927938, 72057594037927936) = -144115188075855872
floor2(144115188075855872, 144115188075855872) = 144115188075855872, floor2(144115188075855874, 144115188075855872) = 144115188075855872, floor2(-144115188075855874, 144115188075855872) = -288230376151711744
floor2(288230376151711744, 288230376151711744) = 288230376151711744, floor2(288230376151711746, 288230376151711744) = 288230376151711744, floor2(-288230376151711746, 288230376151711744) = -576460752303423488
floor2(576460752303423488, 576460752303423488) = 576460752303423488, floor2(576460752303423490, 576460752303423488) = 576460752303423488, floor2(-576460752303423490, 576460752303423488) = -1152921504606846976
floor2(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor2(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor2(-1152921504606846978, 1152921504606846976) = -2305843009213693952
floor2(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor2(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor2(-2305843009213693954, 2305843009213693952) = -4611686018427387904
floor2(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor2(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor2(-4611686018427387906, 4611686018427387904) = -9223372036854775808
floor2(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor2(-9223372036854775806, -9223372036854775808) = -9223372036854775808, floor2(9223372036854775806, -9223372036854775808) = 0

unsigned long long int
floor2(0, 0) = 0, floor2(2, 0) = 0, floor2(18446744073709551614, 0) = 0
floor2(1, 1) = 1, floor2(3, 1) = 3, floor2(18446744073709551613, 1) = 18446744073709551613
floor2(2, 2) = 2, floor2(4, 2) = 4, floor2(18446744073709551612, 2) = 18446744073709551612
floor2(4, 4) = 4, floor2(6, 4) = 4, floor2(18446744073709551610, 4) = 18446744073709551608
floor2(8, 8) = 8, floor2(10, 8) = 8, floor2(18446744073709551606, 8) = 18446744073709551600
floor2(16, 16) = 16, floor2(18, 16) = 16, floor2(18446744073709551598, 16) = 18446744073709551584
floor2(32, 32) = 32, floor2(34, 32) = 32, floor2(18446744073709551582, 32) = 18446744073709551552
floor2(64, 64) = 64, floor2(66, 64) = 64, floor2(18446744073709551550, 64) = 18446744073709551488
floor2(128, 128) = 128, floor2(130, 128) = 128, floor2(18446744073709551486, 128) = 18446744073709551360
floor2(256, 256) = 256, floor2(258, 256) = 256, floor2(18446744073709551358, 256) = 18446744073709551104
floor2(512, 512) = 512, floor2(514, 512) = 512, floor2(18446744073709551102, 512) = 18446744073709550592
floor2(1024, 1024) = 1024, floor2(1026, 1024) = 1024, floor2(18446744073709550590, 1024) = 18446744073709549568
floor2(2048, 2048) = 2048, floor2(2050, 2048) = 2048, floor2(18446744073709549566, 2048) = 18446744073709547520
floor2(4096, 4096) = 4096, floor2(4098, 4096) = 4096, floor2(18446744073709547518, 4096) = 18446744073709543424
floor2(8192, 8192) = 8192, floor2(8194, 8192) = 8192, floor2(18446744073709543422, 8192) = 18446744073709535232
floor2(16384, 16384) = 16384, floor2(16386, 16384) = 16384, floor2(18446744073709535230, 16384) = 18446744073709518848
floor2(32768, 32768) = 32768, floor2(32770, 32768) = 32768, floor2(18446744073709518846, 32768) = 18446744073709486080
floor2(65536, 65536) = 65536, floor2(65538, 65536) = 65536, floor2(18446744073709486078, 65536) = 18446744073709420544
floor2(131072, 131072) = 131072, floor2(131074, 131072) = 131072, floor2(18446744073709420542, 131072) = 18446744073709289472
floor2(262144, 262144) = 262144, floor2(262146, 262144) = 262144, floor2(18446744073709289470, 262144) = 18446744073709027328
floor2(524288, 524288) = 524288, floor2(524290, 524288) = 524288, floor2(18446744073709027326, 524288) = 18446744073708503040
floor2(1048576, 1048576) = 1048576, floor2(1048578, 1048576) = 1048576, floor2(18446744073708503038, 1048576) = 18446744073707454464
floor2(2097152, 2097152) = 2097152, floor2(2097154, 2097152) = 2097152, floor2(18446744073707454462, 2097152) = 18446744073705357312
floor2(4194304, 4194304) = 4194304, floor2(4194306, 4194304) = 4194304, floor2(18446744073705357310, 4194304) = 18446744073701163008
floor2(8388608, 8388608) = 8388608, floor2(8388610, 8388608) = 8388608, floor2(18446744073701163006, 8388608) = 18446744073692774400
floor2(16777216, 16777216) = 16777216, floor2(16777218, 16777216) = 16777216, floor2(18446744073692774398, 16777216) = 18446744073675997184
floor2(33554432, 33554432) = 33554432, floor2(33554434, 33554432) = 33554432, floor2(18446744073675997182, 33554432) = 18446744073642442752
floor2(67108864, 67108864) = 67108864, floor2(67108866, 67108864) = 67108864, floor2(18446744073642442750, 67108864) = 18446744073575333888
floor2(134217728, 134217728) = 134217728, floor2(134217730, 134217728) = 134217728, floor2(18446744073575333886, 134217728) = 18446744073441116160
floor2(268435456, 268435456) = 268435456, floor2(268435458, 268435456) = 268435456, floor2(18446744073441116158, 268435456) = 18446744073172680704
floor2(536870912, 536870912) = 536870912, floor2(536870914, 536870912) = 536870912, floor2(18446744073172680702, 536870912) = 18446744072635809792
floor2(1073741824, 1073741824) = 1073741824, floor2(1073741826, 1073741824) = 1073741824, floor2(18446744072635809790, 1073741824) = 18446744071562067968
floor2(2147483648, 2147483648) = 2147483648, floor2(2147483650, 2147483648) = 2147483648, floor2(18446744071562067966, 2147483648) = 18446744069414584320
floor2(4294967296, 4294967296) = 4294967296, floor2(4294967298, 4294967296) = 4294967296, floor2(18446744069414584318, 4294967296) = 18446744065119617024
floor2(8589934592, 8589934592) = 8589934592, floor2(8589934594, 8589934592) = 8589934592, floor2(18446744065119617022, 8589934592) = 18446744056529682432
floor2(17179869184, 17179869184) = 17179869184, floor2(17179869186, 17179869184) = 17179869184, floor2(18446744056529682430, 17179869184) = 18446744039349813248
floor2(34359738368, 34359738368) = 34359738368, floor2(34359738370, 34359738368) = 34359738368, floor2(18446744039349813246, 34359738368) = 18446744004990074880
floor2(68719476736, 68719476736) = 68719476736, floor2(68719476738, 68719476736) = 68719476736, floor2(18446744004990074878, 68719476736) = 18446743936270598144
floor2(137438953472, 137438953472) = 137438953472, floor2(137438953474, 137438953472) = 137438953472, floor2(18446743936270598142, 137438953472) = 18446743798831644672
floor2(274877906944, 274877906944) = 274877906944, floor2(274877906946, 274877906944) = 274877906944, floor2(18446743798831644670, 274877906944) = 18446743523953737728
floor2(549755813888, 549755813888) = 549755813888, floor2(549755813890, 549755813888) = 549755813888, floor2(18446743523953737726, 549755813888) = 18446742974197923840
floor2(1099511627776, 1099511627776) = 1099511627776, floor2(1099511627778, 1099511627776) = 1099511627776, floor2(18446742974197923838, 1099511627776) = 18446741874686296064
floor2(2199023255552, 2199023255552) = 2199023255552, floor2(2199023255554, 2199023255552) = 2199023255552, floor2(18446741874686296062, 2199023255552) = 18446739675663040512
floor2(4398046511104, 4398046511104) = 4398046511104, floor2(4398046511106, 4398046511104) = 4398046511104, floor2(18446739675663040510, 4398046511104) = 18446735277616529408
floor2(8796093022208, 8796093022208) = 8796093022208, floor2(8796093022210, 8796093022208) = 8796093022208, floor2(18446735277616529406, 8796093022208) = 18446726481523507200
floor2(17592186044416, 17592186044416) = 17592186044416, floor2(17592186044418, 17592186044416) = 17592186044416, floor2(18446726481523507198, 17592186044416) = 18446708889337462784
floor2(35184372088832, 35184372088832) = 35184372088832, floor2(35184372088834, 35184372088832) = 35184372088832, floor2(18446708889337462782, 35184372088832) = 18446673704965373952
floor2(70368744177664, 70368744177664) = 70368744177664, floor2(70368744177666, 70368744177664) = 70368744177664, floor2(18446673704965373950, 70368744177664) = 18446603336221196288
floor2(140737488355328, 140737488355328) = 140737488355328, floor2(140737488355330, 140737488355328) = 140737488355328, floor2(18446603336221196286, 140737488355328) = 18446462598732840960
floor2(281474976710656, 281474976710656) = 281474976710656, floor2(281474976710658, 281474976710656) = 281474976710656, floor2(18446462598732840958, 281474976710656) = 18446181123756130304
floor2(562949953421312, 562949953421312) = 562949953421312, floor2(562949953421314, 562949953421312) = 562949953421312, floor2(18446181123756130302, 562949953421312) = 18445618173802708992
floor2(1125899906842624, 1125899906842624) = 1125899906842624, floor2(1125899906842626, 1125899906842624) = 1125899906842624, floor2(18445618173802708990, 1125899906842624) = 18444492273895866368
floor2(2251799813685248, 2251799813685248) = 2251799813685248, floor2(2251799813685250, 2251799813685248) = 2251799813685248, floor2(18444492273895866366, 2251799813685248) = 18442240474082181120
floor2(4503599627370496, 4503599627370496) = 4503599627370496, floor2(4503599627370498, 4503599627370496) = 4503599627370496, floor2(18442240474082181118, 4503599627370496) = 18437736874454810624
floor2(9007199254740992, 9007199254740992) = 9007199254740992, floor2(9007199254740994, 9007199254740992) = 9007199254740992, floor2(18437736874454810622, 9007199254740992) = 18428729675200069632
floor2(18014398509481984, 18014398509481984) = 18014398509481984, floor2(18014398509481986, 18014398509481984) = 18014398509481984, floor2(18428729675200069630, 18014398509481984) = 18410715276690587648
floor2(36028797018963968, 36028797018963968) = 36028797018963968, floor2(36028797018963970, 36028797018963968) = 36028797018963968, floor2(18410715276690587646, 36028797018963968) = 18374686479671623680
floor2(72057594037927936, 72057594037927936) = 72057594037927936, floor2(72057594037927938, 72057594037927936) = 72057594037927936, floor2(18374686479671623678, 72057594037927936) = 18302628885633695744
floor2(144115188075855872, 144115188075855872) = 144115188075855872, floor2(144115188075855874, 144115188075855872) = 144115188075855872, floor2(18302628885633695742, 144115188075855872) = 18158513697557839872
floor2(288230376151711744, 288230376151711744) = 288230376151711744, floor2(288230376151711746, 288230376151711744) = 288230376151711744, floor2(18158513697557839870, 288230376151711744) = 17870283321406128128
floor2(576460752303423488, 576460752303423488) = 576460752303423488, floor2(576460752303423490, 576460752303423488) = 576460752303423488, floor2(17870283321406128126, 576460752303423488) = 17293822569102704640
floor2(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor2(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor2(17293822569102704638, 1152921504606846976) = 16140901064495857664
floor2(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor2(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor2(16140901064495857662, 2305843009213693952) = 13835058055282163712
floor2(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor2(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor2(13835058055282163710, 4611686018427387904) = 9223372036854775808
floor2(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor2(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor2(9223372036854775806, 9223372036854775808) = 0


floor

signed char
floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
floor(-128, -128) = -128, floor(-126, -128) = 0, floor(126, -128) = 0

unsigned char
floor(1, 1) = 1, floor(3, 1) = 3, floor(253, 1) = 253
floor(2, 2) = 2, floor(4, 2) = 4, floor(252, 2) = 252
floor(4, 4) = 4, floor(6, 4) = 4, floor(250, 4) = 248
floor(8, 8) = 8, floor(10, 8) = 8, floor(246, 8) = 240
floor(16, 16) = 16, floor(18, 16) = 16, floor(238, 16) = 224
floor(32, 32) = 32, floor(34, 32) = 32, floor(222, 32) = 192
floor(64, 64) = 64, floor(66, 64) = 64, floor(190, 64) = 128
floor(128, 128) = 128, floor(130, 128) = 128, floor(126, 128) = 0

short int
floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
floor(-32768, -32768) = -32768, floor(-32766, -32768) = 0, floor(32766, -32768) = 0

unsigned short int
floor(1, 1) = 1, floor(3, 1) = 3, floor(65533, 1) = 65533
floor(2, 2) = 2, floor(4, 2) = 4, floor(65532, 2) = 65532
floor(4, 4) = 4, floor(6, 4) = 4, floor(65530, 4) = 65528
floor(8, 8) = 8, floor(10, 8) = 8, floor(65526, 8) = 65520
floor(16, 16) = 16, floor(18, 16) = 16, floor(65518, 16) = 65504
floor(32, 32) = 32, floor(34, 32) = 32, floor(65502, 32) = 65472
floor(64, 64) = 64, floor(66, 64) = 64, floor(65470, 64) = 65408
floor(128, 128) = 128, floor(130, 128) = 128, floor(65406, 128) = 65280
floor(256, 256) = 256, floor(258, 256) = 256, floor(65278, 256) = 65024
floor(512, 512) = 512, floor(514, 512) = 512, floor(65022, 512) = 64512
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(64510, 1024) = 63488
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(63486, 2048) = 61440
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(61438, 4096) = 57344
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(57342, 8192) = 49152
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(49150, 16384) = 32768
floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(32766, 32768) = 0

int
floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768
floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536
floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072
floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144
floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288
floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576
floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152
floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304
floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608
floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216
floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432
floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864
floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728
floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456
floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912
floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824
floor(-2147483648, -2147483648) = -2147483648, floor(-2147483646, -2147483648) = 0, floor(2147483646, -2147483648) = 0

unsigned int
floor(1, 1) = 1, floor(3, 1) = 3, floor(4294967293, 1) = 4294967293
floor(2, 2) = 2, floor(4, 2) = 4, floor(4294967292, 2) = 4294967292
floor(4, 4) = 4, floor(6, 4) = 4, floor(4294967290, 4) = 4294967288
floor(8, 8) = 8, floor(10, 8) = 8, floor(4294967286, 8) = 4294967280
floor(16, 16) = 16, floor(18, 16) = 16, floor(4294967278, 16) = 4294967264
floor(32, 32) = 32, floor(34, 32) = 32, floor(4294967262, 32) = 4294967232
floor(64, 64) = 64, floor(66, 64) = 64, floor(4294967230, 64) = 4294967168
floor(128, 128) = 128, floor(130, 128) = 128, floor(4294967166, 128) = 4294967040
floor(256, 256) = 256, floor(258, 256) = 256, floor(4294967038, 256) = 4294966784
floor(512, 512) = 512, floor(514, 512) = 512, floor(4294966782, 512) = 4294966272
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(4294966270, 1024) = 4294965248
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(4294965246, 2048) = 4294963200
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(4294963198, 4096) = 4294959104
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(4294959102, 8192) = 4294950912
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(4294950910, 16384) = 4294934528
floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(4294934526, 32768) = 4294901760
floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(4294901758, 65536) = 4294836224
floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(4294836222, 131072) = 4294705152
floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(4294705150, 262144) = 4294443008
floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(4294443006, 524288) = 4293918720
floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(4293918718, 1048576) = 4292870144
floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(4292870142, 2097152) = 4290772992
floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(4290772990, 4194304) = 4286578688
floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(4286578686, 8388608) = 4278190080
floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(4278190078, 16777216) = 4261412864
floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(4261412862, 33554432) = 4227858432
floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(4227858430, 67108864) = 4160749568
floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(4160749566, 134217728) = 4026531840
floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(4026531838, 268435456) = 3758096384
floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(3758096382, 536870912) = 3221225472
floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(3221225470, 1073741824) = 2147483648
floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(2147483646, 2147483648) = 0

long int
floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768
floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536
floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072
floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144
floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288
floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576
floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152
floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304
floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608
floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216
floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432
floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864
floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728
floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456
floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912
floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824
floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -2147483648
floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -4294967296
floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -8589934592
floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -17179869184
floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -34359738368
floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -68719476736
floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -137438953472
floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -274877906944
floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -549755813888
floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -1099511627776
floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -2199023255552
floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -4398046511104
floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -8796093022208
floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -17592186044416
floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -35184372088832
floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -70368744177664
floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -140737488355328
floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -281474976710656
floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -562949953421312
floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -1125899906842624
floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -2251799813685248
floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -4503599627370496
floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -9007199254740992
floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -18014398509481984
floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -36028797018963968
floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -72057594037927936
floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -144115188075855872
floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -288230376151711744
floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -576460752303423488
floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -1152921504606846976
floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -2305843009213693952
floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -4611686018427387904
floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = 0, floor(9223372036854775806, -9223372036854775808) = 0

unsigned long int
floor(1, 1) = 1, floor(3, 1) = 3, floor(18446744073709551613, 1) = 18446744073709551613
floor(2, 2) = 2, floor(4, 2) = 4, floor(18446744073709551612, 2) = 18446744073709551612
floor(4, 4) = 4, floor(6, 4) = 4, floor(18446744073709551610, 4) = 18446744073709551608
floor(8, 8) = 8, floor(10, 8) = 8, floor(18446744073709551606, 8) = 18446744073709551600
floor(16, 16) = 16, floor(18, 16) = 16, floor(18446744073709551598, 16) = 18446744073709551584
floor(32, 32) = 32, floor(34, 32) = 32, floor(18446744073709551582, 32) = 18446744073709551552
floor(64, 64) = 64, floor(66, 64) = 64, floor(18446744073709551550, 64) = 18446744073709551488
floor(128, 128) = 128, floor(130, 128) = 128, floor(18446744073709551486, 128) = 18446744073709551360
floor(256, 256) = 256, floor(258, 256) = 256, floor(18446744073709551358, 256) = 18446744073709551104
floor(512, 512) = 512, floor(514, 512) = 512, floor(18446744073709551102, 512) = 18446744073709550592
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(18446744073709550590, 1024) = 18446744073709549568
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(18446744073709549566, 2048) = 18446744073709547520
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(18446744073709547518, 4096) = 18446744073709543424
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(18446744073709543422, 8192) = 18446744073709535232
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(18446744073709535230, 16384) = 18446744073709518848
floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(18446744073709518846, 32768) = 18446744073709486080
floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(18446744073709486078, 65536) = 18446744073709420544
floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(18446744073709420542, 131072) = 18446744073709289472
floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(18446744073709289470, 262144) = 18446744073709027328
floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(18446744073709027326, 524288) = 18446744073708503040
floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(18446744073708503038, 1048576) = 18446744073707454464
floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(18446744073707454462, 2097152) = 18446744073705357312
floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(18446744073705357310, 4194304) = 18446744073701163008
floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(18446744073701163006, 8388608) = 18446744073692774400
floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(18446744073692774398, 16777216) = 18446744073675997184
floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(18446744073675997182, 33554432) = 18446744073642442752
floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(18446744073642442750, 67108864) = 18446744073575333888
floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(18446744073575333886, 134217728) = 18446744073441116160
floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(18446744073441116158, 268435456) = 18446744073172680704
floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(18446744073172680702, 536870912) = 18446744072635809792
floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(18446744072635809790, 1073741824) = 18446744071562067968
floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(18446744071562067966, 2147483648) = 18446744069414584320
floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(18446744069414584318, 4294967296) = 18446744065119617024
floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(18446744065119617022, 8589934592) = 18446744056529682432
floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(18446744056529682430, 17179869184) = 18446744039349813248
floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(18446744039349813246, 34359738368) = 18446744004990074880
floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(18446744004990074878, 68719476736) = 18446743936270598144
floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(18446743936270598142, 137438953472) = 18446743798831644672
floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(18446743798831644670, 274877906944) = 18446743523953737728
floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(18446743523953737726, 549755813888) = 18446742974197923840
floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(18446742974197923838, 1099511627776) = 18446741874686296064
floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(18446741874686296062, 2199023255552) = 18446739675663040512
floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(18446739675663040510, 4398046511104) = 18446735277616529408
floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(18446735277616529406, 8796093022208) = 18446726481523507200
floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(18446726481523507198, 17592186044416) = 18446708889337462784
floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(18446708889337462782, 35184372088832) = 18446673704965373952
floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(18446673704965373950, 70368744177664) = 18446603336221196288
floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(18446603336221196286, 140737488355328) = 18446462598732840960
floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(18446462598732840958, 281474976710656) = 18446181123756130304
floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(18446181123756130302, 562949953421312) = 18445618173802708992
floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(18445618173802708990, 1125899906842624) = 18444492273895866368
floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(18444492273895866366, 2251799813685248) = 18442240474082181120
floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(18442240474082181118, 4503599627370496) = 18437736874454810624
floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(18437736874454810622, 9007199254740992) = 18428729675200069632
floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(18428729675200069630, 18014398509481984) = 18410715276690587648
floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(18410715276690587646, 36028797018963968) = 18374686479671623680
floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(18374686479671623678, 72057594037927936) = 18302628885633695744
floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(18302628885633695742, 144115188075855872) = 18158513697557839872
floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(18158513697557839870, 288230376151711744) = 17870283321406128128
floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(17870283321406128126, 576460752303423488) = 17293822569102704640
floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(17293822569102704638, 1152921504606846976) = 16140901064495857664
floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(16140901064495857662, 2305843009213693952) = 13835058055282163712
floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(13835058055282163710, 4611686018427387904) = 9223372036854775808
floor(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor(9223372036854775806, 9223372036854775808) = 0

long long int
floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768
floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536
floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072
floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144
floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288
floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576
floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152
floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304
floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608
floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216
floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432
floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864
floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728
floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456
floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912
floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824
floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -2147483648
floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -4294967296
floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -8589934592
floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -17179869184
floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -34359738368
floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -68719476736
floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -137438953472
floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -274877906944
floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -549755813888
floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -1099511627776
floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -2199023255552
floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -4398046511104
floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -8796093022208
floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -17592186044416
floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -35184372088832
floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -70368744177664
floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -140737488355328
floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -281474976710656
floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -562949953421312
floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -1125899906842624
floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -2251799813685248
floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -4503599627370496
floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -9007199254740992
floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -18014398509481984
floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -36028797018963968
floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -72057594037927936
floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -144115188075855872
floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -288230376151711744
floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -576460752303423488
floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -1152921504606846976
floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -2305843009213693952
floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -4611686018427387904
floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = 0, floor(9223372036854775806, -9223372036854775808) = 0

unsigned long long int
floor(1, 1) = 1, floor(3, 1) = 3, floor(18446744073709551613, 1) = 18446744073709551613
floor(2, 2) = 2, floor(4, 2) = 4, floor(18446744073709551612, 2) = 18446744073709551612
floor(4, 4) = 4, floor(6, 4) = 4, floor(18446744073709551610, 4) = 18446744073709551608
floor(8, 8) = 8, floor(10, 8) = 8, floor(18446744073709551606, 8) = 18446744073709551600
floor(16, 16) = 16, floor(18, 16) = 16, floor(18446744073709551598, 16) = 18446744073709551584
floor(32, 32) = 32, floor(34, 32) = 32, floor(18446744073709551582, 32) = 18446744073709551552
floor(64, 64) = 64, floor(66, 64) = 64, floor(18446744073709551550, 64) = 18446744073709551488
floor(128, 128) = 128, floor(130, 128) = 128, floor(18446744073709551486, 128) = 18446744073709551360
floor(256, 256) = 256, floor(258, 256) = 256, floor(18446744073709551358, 256) = 18446744073709551104
floor(512, 512) = 512, floor(514, 512) = 512, floor(18446744073709551102, 512) = 18446744073709550592
floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(18446744073709550590, 1024) = 18446744073709549568
floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(18446744073709549566, 2048) = 18446744073709547520
floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(18446744073709547518, 4096) = 18446744073709543424
floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(18446744073709543422, 8192) = 18446744073709535232
floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(18446744073709535230, 16384) = 18446744073709518848
floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(18446744073709518846, 32768) = 18446744073709486080
floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(18446744073709486078, 65536) = 18446744073709420544
floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(18446744073709420542, 131072) = 18446744073709289472
floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(18446744073709289470, 262144) = 18446744073709027328
floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(18446744073709027326, 524288) = 18446744073708503040
floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(18446744073708503038, 1048576) = 18446744073707454464
floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(18446744073707454462, 2097152) = 18446744073705357312
floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(18446744073705357310, 4194304) = 18446744073701163008
floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(18446744073701163006, 8388608) = 18446744073692774400
floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(18446744073692774398, 16777216) = 18446744073675997184
floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(18446744073675997182, 33554432) = 18446744073642442752
floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(18446744073642442750, 67108864) = 18446744073575333888
floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(18446744073575333886, 134217728) = 18446744073441116160
floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(18446744073441116158, 268435456) = 18446744073172680704
floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(18446744073172680702, 536870912) = 18446744072635809792
floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(18446744072635809790, 1073741824) = 18446744071562067968
floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(18446744071562067966, 2147483648) = 18446744069414584320
floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(18446744069414584318, 4294967296) = 18446744065119617024
floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(18446744065119617022, 8589934592) = 18446744056529682432
floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(18446744056529682430, 17179869184) = 18446744039349813248
floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(18446744039349813246, 34359738368) = 18446744004990074880
floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(18446744004990074878, 68719476736) = 18446743936270598144
floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(18446743936270598142, 137438953472) = 18446743798831644672
floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(18446743798831644670, 274877906944) = 18446743523953737728
floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(18446743523953737726, 549755813888) = 18446742974197923840
floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(18446742974197923838, 1099511627776) = 18446741874686296064
floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(18446741874686296062, 2199023255552) = 18446739675663040512
floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(18446739675663040510, 4398046511104) = 18446735277616529408
floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(18446735277616529406, 8796093022208) = 18446726481523507200
floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(18446726481523507198, 17592186044416) = 18446708889337462784
floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(18446708889337462782, 35184372088832) = 18446673704965373952
floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(18446673704965373950, 70368744177664) = 18446603336221196288
floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(18446603336221196286, 140737488355328) = 18446462598732840960
floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(18446462598732840958, 281474976710656) = 18446181123756130304
floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(18446181123756130302, 562949953421312) = 18445618173802708992
floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(18445618173802708990, 1125899906842624) = 18444492273895866368
floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(18444492273895866366, 2251799813685248) = 18442240474082181120
floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(18442240474082181118, 4503599627370496) = 18437736874454810624
floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(18437736874454810622, 9007199254740992) = 18428729675200069632
floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(18428729675200069630, 18014398509481984) = 18410715276690587648
floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(18410715276690587646, 36028797018963968) = 18374686479671623680
floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(18374686479671623678, 72057594037927936) = 18302628885633695744
floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(18302628885633695742, 144115188075855872) = 18158513697557839872
floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(18158513697557839870, 288230376151711744) = 17870283321406128128
floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(17870283321406128126, 576460752303423488) = 17293822569102704640
floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(17293822569102704638, 1152921504606846976) = 16140901064495857664
floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(16140901064495857662, 2305843009213693952) = 13835058055282163712
floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(13835058055282163710, 4611686018427387904) = 9223372036854775808
floor(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor(9223372036854775806, 9223372036854775808) = 0


ceiling2

signed char
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(-2, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(-3, 1) = -3
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(-4, 2) = -4
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(-6, 4) = -4
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(-10, 8) = -8
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(-18, 16) = -16
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(-34, 32) = -32
ceiling2(64, 64) = 64, ceiling2(66, 64) = -128, ceiling2(-66, 64) = -64
ceiling2(-128, -128) = -128, ceiling2(-126, -128) = 0, ceiling2(126, -128) = -128

unsigned char
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(254, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(253, 1) = 253
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(252, 2) = 252
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(250, 4) = 252
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(246, 8) = 248
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(238, 16) = 240
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(222, 32) = 224
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(190, 64) = 192
ceiling2(128, 128) = 128, ceiling2(130, 128) = 0, ceiling2(126, 128) = 128

short int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(-2, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(-3, 1) = -3
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(-4, 2) = -4
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(-6, 4) = -4
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(-10, 8) = -8
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(-18, 16) = -16
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(-34, 32) = -32
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(-66, 64) = -64
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(-130, 128) = -128
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(-258, 256) = -256
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(-514, 512) = -512
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(-1026, 1024) = -1024
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(-2050, 2048) = -2048
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(-4098, 4096) = -4096
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(-8194, 8192) = -8192
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = -32768, ceiling2(-16386, 16384) = -16384
ceiling2(-32768, -32768) = -32768, ceiling2(-32766, -32768) = 0, ceiling2(32766, -32768) = -32768

unsigned short int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(65534, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(65533, 1) = 65533
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(65532, 2) = 65532
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(65530, 4) = 65532
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(65526, 8) = 65528
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(65518, 16) = 65520
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(65502, 32) = 65504
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(65470, 64) = 65472
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(65406, 128) = 65408
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(65278, 256) = 65280
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(65022, 512) = 65024
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(64510, 1024) = 64512
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(63486, 2048) = 63488
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(61438, 4096) = 61440
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(57342, 8192) = 57344
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = 32768, ceiling2(49150, 16384) = 49152
ceiling2(32768, 32768) = 32768, ceiling2(32770, 32768) = 0, ceiling2(32766, 32768) = 32768

int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(-2, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(-3, 1) = -3
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(-4, 2) = -4
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(-6, 4) = -4
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(-10, 8) = -8
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(-18, 16) = -16
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(-34, 32) = -32
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(-66, 64) = -64
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(-130, 128) = -128
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(-258, 256) = -256
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(-514, 512) = -512
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(-1026, 1024) = -1024
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(-2050, 2048) = -2048
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(-4098, 4096) = -4096
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(-8194, 8192) = -8192
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = 32768, ceiling2(-16386, 16384) = -16384
ceiling2(32768, 32768) = 32768, ceiling2(32770, 32768) = 65536, ceiling2(-32770, 32768) = -32768
ceiling2(65536, 65536) = 65536, ceiling2(65538, 65536) = 131072, ceiling2(-65538, 65536) = -65536
ceiling2(131072, 131072) = 131072, ceiling2(131074, 131072) = 262144, ceiling2(-131074, 131072) = -131072
ceiling2(262144, 262144) = 262144, ceiling2(262146, 262144) = 524288, ceiling2(-262146, 262144) = -262144
ceiling2(524288, 524288) = 524288, ceiling2(524290, 524288) = 1048576, ceiling2(-524290, 524288) = -524288
ceiling2(1048576, 1048576) = 1048576, ceiling2(1048578, 1048576) = 2097152, ceiling2(-1048578, 1048576) = -1048576
ceiling2(2097152, 2097152) = 2097152, ceiling2(2097154, 2097152) = 4194304, ceiling2(-2097154, 2097152) = -2097152
ceiling2(4194304, 4194304) = 4194304, ceiling2(4194306, 4194304) = 8388608, ceiling2(-4194306, 4194304) = -4194304
ceiling2(8388608, 8388608) = 8388608, ceiling2(8388610, 8388608) = 16777216, ceiling2(-8388610, 8388608) = -8388608
ceiling2(16777216, 16777216) = 16777216, ceiling2(16777218, 16777216) = 33554432, ceiling2(-16777218, 16777216) = -16777216
ceiling2(33554432, 33554432) = 33554432, ceiling2(33554434, 33554432) = 67108864, ceiling2(-33554434, 33554432) = -33554432
ceiling2(67108864, 67108864) = 67108864, ceiling2(67108866, 67108864) = 134217728, ceiling2(-67108866, 67108864) = -67108864
ceiling2(134217728, 134217728) = 134217728, ceiling2(134217730, 134217728) = 268435456, ceiling2(-134217730, 134217728) = -134217728
ceiling2(268435456, 268435456) = 268435456, ceiling2(268435458, 268435456) = 536870912, ceiling2(-268435458, 268435456) = -268435456
ceiling2(536870912, 536870912) = 536870912, ceiling2(536870914, 536870912) = 1073741824, ceiling2(-536870914, 536870912) = -536870912
ceiling2(1073741824, 1073741824) = 1073741824, ceiling2(1073741826, 1073741824) = -2147483648, ceiling2(-1073741826, 1073741824) = -1073741824
ceiling2(-2147483648, -2147483648) = -2147483648, ceiling2(-2147483646, -2147483648) = 0, ceiling2(2147483646, -2147483648) = -2147483648

unsigned int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(4294967294, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(4294967293, 1) = 4294967293
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(4294967292, 2) = 4294967292
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(4294967290, 4) = 4294967292
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(4294967286, 8) = 4294967288
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(4294967278, 16) = 4294967280
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(4294967262, 32) = 4294967264
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(4294967230, 64) = 4294967232
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(4294967166, 128) = 4294967168
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(4294967038, 256) = 4294967040
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(4294966782, 512) = 4294966784
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(4294966270, 1024) = 4294966272
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(4294965246, 2048) = 4294965248
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(4294963198, 4096) = 4294963200
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(4294959102, 8192) = 4294959104
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = 32768, ceiling2(4294950910, 16384) = 4294950912
ceiling2(32768, 32768) = 32768, ceiling2(32770, 32768) = 65536, ceiling2(4294934526, 32768) = 4294934528
ceiling2(65536, 65536) = 65536, ceiling2(65538, 65536) = 131072, ceiling2(4294901758, 65536) = 4294901760
ceiling2(131072, 131072) = 131072, ceiling2(131074, 131072) = 262144, ceiling2(4294836222, 131072) = 4294836224
ceiling2(262144, 262144) = 262144, ceiling2(262146, 262144) = 524288, ceiling2(4294705150, 262144) = 4294705152
ceiling2(524288, 524288) = 524288, ceiling2(524290, 524288) = 1048576, ceiling2(4294443006, 524288) = 4294443008
ceiling2(1048576, 1048576) = 1048576, ceiling2(1048578, 1048576) = 2097152, ceiling2(4293918718, 1048576) = 4293918720
ceiling2(2097152, 2097152) = 2097152, ceiling2(2097154, 2097152) = 4194304, ceiling2(4292870142, 2097152) = 4292870144
ceiling2(4194304, 4194304) = 4194304, ceiling2(4194306, 4194304) = 8388608, ceiling2(4290772990, 4194304) = 4290772992
ceiling2(8388608, 8388608) = 8388608, ceiling2(8388610, 8388608) = 16777216, ceiling2(4286578686, 8388608) = 4286578688
ceiling2(16777216, 16777216) = 16777216, ceiling2(16777218, 16777216) = 33554432, ceiling2(4278190078, 16777216) = 4278190080
ceiling2(33554432, 33554432) = 33554432, ceiling2(33554434, 33554432) = 67108864, ceiling2(4261412862, 33554432) = 4261412864
ceiling2(67108864, 67108864) = 67108864, ceiling2(67108866, 67108864) = 134217728, ceiling2(4227858430, 67108864) = 4227858432
ceiling2(134217728, 134217728) = 134217728, ceiling2(134217730, 134217728) = 268435456, ceiling2(4160749566, 134217728) = 4160749568
ceiling2(268435456, 268435456) = 268435456, ceiling2(268435458, 268435456) = 536870912, ceiling2(4026531838, 268435456) = 4026531840
ceiling2(536870912, 536870912) = 536870912, ceiling2(536870914, 536870912) = 1073741824, ceiling2(3758096382, 536870912) = 3758096384
ceiling2(1073741824, 1073741824) = 1073741824, ceiling2(1073741826, 1073741824) = 2147483648, ceiling2(3221225470, 1073741824) = 3221225472
ceiling2(2147483648, 2147483648) = 2147483648, ceiling2(2147483650, 2147483648) = 0, ceiling2(2147483646, 2147483648) = 2147483648

long int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(-2, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(-3, 1) = -3
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(-4, 2) = -4
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(-6, 4) = -4
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(-10, 8) = -8
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(-18, 16) = -16
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(-34, 32) = -32
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(-66, 64) = -64
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(-130, 128) = -128
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(-258, 256) = -256
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(-514, 512) = -512
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(-1026, 1024) = -1024
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(-2050, 2048) = -2048
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(-4098, 4096) = -4096
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(-8194, 8192) = -8192
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = 32768, ceiling2(-16386, 16384) = -16384
ceiling2(32768, 32768) = 32768, ceiling2(32770, 32768) = 65536, ceiling2(-32770, 32768) = -32768
ceiling2(65536, 65536) = 65536, ceiling2(65538, 65536) = 131072, ceiling2(-65538, 65536) = -65536
ceiling2(131072, 131072) = 131072, ceiling2(131074, 131072) = 262144, ceiling2(-131074, 131072) = -131072
ceiling2(262144, 262144) = 262144, ceiling2(262146, 262144) = 524288, ceiling2(-262146, 262144) = -262144
ceiling2(524288, 524288) = 524288, ceiling2(524290, 524288) = 1048576, ceiling2(-524290, 524288) = -524288
ceiling2(1048576, 1048576) = 1048576, ceiling2(1048578, 1048576) = 2097152, ceiling2(-1048578, 1048576) = -1048576
ceiling2(2097152, 2097152) = 2097152, ceiling2(2097154, 2097152) = 4194304, ceiling2(-2097154, 2097152) = -2097152
ceiling2(4194304, 4194304) = 4194304, ceiling2(4194306, 4194304) = 8388608, ceiling2(-4194306, 4194304) = -4194304
ceiling2(8388608, 8388608) = 8388608, ceiling2(8388610, 8388608) = 16777216, ceiling2(-8388610, 8388608) = -8388608
ceiling2(16777216, 16777216) = 16777216, ceiling2(16777218, 16777216) = 33554432, ceiling2(-16777218, 16777216) = -16777216
ceiling2(33554432, 33554432) = 33554432, ceiling2(33554434, 33554432) = 67108864, ceiling2(-33554434, 33554432) = -33554432
ceiling2(67108864, 67108864) = 67108864, ceiling2(67108866, 67108864) = 134217728, ceiling2(-67108866, 67108864) = -67108864
ceiling2(134217728, 134217728) = 134217728, ceiling2(134217730, 134217728) = 268435456, ceiling2(-134217730, 134217728) = -134217728
ceiling2(268435456, 268435456) = 268435456, ceiling2(268435458, 268435456) = 536870912, ceiling2(-268435458, 268435456) = -268435456
ceiling2(536870912, 536870912) = 536870912, ceiling2(536870914, 536870912) = 1073741824, ceiling2(-536870914, 536870912) = -536870912
ceiling2(1073741824, 1073741824) = 1073741824, ceiling2(1073741826, 1073741824) = 2147483648, ceiling2(-1073741826, 1073741824) = -1073741824
ceiling2(2147483648, 2147483648) = 2147483648, ceiling2(2147483650, 2147483648) = 4294967296, ceiling2(-2147483650, 2147483648) = -2147483648
ceiling2(4294967296, 4294967296) = 4294967296, ceiling2(4294967298, 4294967296) = 8589934592, ceiling2(-4294967298, 4294967296) = -4294967296
ceiling2(8589934592, 8589934592) = 8589934592, ceiling2(8589934594, 8589934592) = 17179869184, ceiling2(-8589934594, 8589934592) = -8589934592
ceiling2(17179869184, 17179869184) = 17179869184, ceiling2(17179869186, 17179869184) = 34359738368, ceiling2(-17179869186, 17179869184) = -17179869184
ceiling2(34359738368, 34359738368) = 34359738368, ceiling2(34359738370, 34359738368) = 68719476736, ceiling2(-34359738370, 34359738368) = -34359738368
ceiling2(68719476736, 68719476736) = 68719476736, ceiling2(68719476738, 68719476736) = 137438953472, ceiling2(-68719476738, 68719476736) = -68719476736
ceiling2(137438953472, 137438953472) = 137438953472, ceiling2(137438953474, 137438953472) = 274877906944, ceiling2(-137438953474, 137438953472) = -137438953472
ceiling2(274877906944, 274877906944) = 274877906944, ceiling2(274877906946, 274877906944) = 549755813888, ceiling2(-274877906946, 274877906944) = -274877906944
ceiling2(549755813888, 549755813888) = 549755813888, ceiling2(549755813890, 549755813888) = 1099511627776, ceiling2(-549755813890, 549755813888) = -549755813888
ceiling2(1099511627776, 1099511627776) = 1099511627776, ceiling2(1099511627778, 1099511627776) = 2199023255552, ceiling2(-1099511627778, 1099511627776) = -1099511627776
ceiling2(2199023255552, 2199023255552) = 2199023255552, ceiling2(2199023255554, 2199023255552) = 4398046511104, ceiling2(-2199023255554, 2199023255552) = -2199023255552
ceiling2(4398046511104, 4398046511104) = 4398046511104, ceiling2(4398046511106, 4398046511104) = 8796093022208, ceiling2(-4398046511106, 4398046511104) = -4398046511104
ceiling2(8796093022208, 8796093022208) = 8796093022208, ceiling2(8796093022210, 8796093022208) = 17592186044416, ceiling2(-8796093022210, 8796093022208) = -8796093022208
ceiling2(17592186044416, 17592186044416) = 17592186044416, ceiling2(17592186044418, 17592186044416) = 35184372088832, ceiling2(-17592186044418, 17592186044416) = -17592186044416
ceiling2(35184372088832, 35184372088832) = 35184372088832, ceiling2(35184372088834, 35184372088832) = 70368744177664, ceiling2(-35184372088834, 35184372088832) = -35184372088832
ceiling2(70368744177664, 70368744177664) = 70368744177664, ceiling2(70368744177666, 70368744177664) = 140737488355328, ceiling2(-70368744177666, 70368744177664) = -70368744177664
ceiling2(140737488355328, 140737488355328) = 140737488355328, ceiling2(140737488355330, 140737488355328) = 281474976710656, ceiling2(-140737488355330, 140737488355328) = -140737488355328
ceiling2(281474976710656, 281474976710656) = 281474976710656, ceiling2(281474976710658, 281474976710656) = 562949953421312, ceiling2(-281474976710658, 281474976710656) = -281474976710656
ceiling2(562949953421312, 562949953421312) = 562949953421312, ceiling2(562949953421314, 562949953421312) = 1125899906842624, ceiling2(-562949953421314, 562949953421312) = -562949953421312
ceiling2(1125899906842624, 1125899906842624) = 1125899906842624, ceiling2(1125899906842626, 1125899906842624) = 2251799813685248, ceiling2(-1125899906842626, 1125899906842624) = -1125899906842624
ceiling2(2251799813685248, 2251799813685248) = 2251799813685248, ceiling2(2251799813685250, 2251799813685248) = 4503599627370496, ceiling2(-2251799813685250, 2251799813685248) = -2251799813685248
ceiling2(4503599627370496, 4503599627370496) = 4503599627370496, ceiling2(4503599627370498, 4503599627370496) = 9007199254740992, ceiling2(-4503599627370498, 4503599627370496) = -4503599627370496
ceiling2(9007199254740992, 9007199254740992) = 9007199254740992, ceiling2(9007199254740994, 9007199254740992) = 18014398509481984, ceiling2(-9007199254740994, 9007199254740992) = -9007199254740992
ceiling2(18014398509481984, 18014398509481984) = 18014398509481984, ceiling2(18014398509481986, 18014398509481984) = 36028797018963968, ceiling2(-18014398509481986, 18014398509481984) = -18014398509481984
ceiling2(36028797018963968, 36028797018963968) = 36028797018963968, ceiling2(36028797018963970, 36028797018963968) = 72057594037927936, ceiling2(-36028797018963970, 36028797018963968) = -36028797018963968
ceiling2(72057594037927936, 72057594037927936) = 72057594037927936, ceiling2(72057594037927938, 72057594037927936) = 144115188075855872, ceiling2(-72057594037927938, 72057594037927936) = -72057594037927936
ceiling2(144115188075855872, 144115188075855872) = 144115188075855872, ceiling2(144115188075855874, 144115188075855872) = 288230376151711744, ceiling2(-144115188075855874, 144115188075855872) = -144115188075855872
ceiling2(288230376151711744, 288230376151711744) = 288230376151711744, ceiling2(288230376151711746, 288230376151711744) = 576460752303423488, ceiling2(-288230376151711746, 288230376151711744) = -288230376151711744
ceiling2(576460752303423488, 576460752303423488) = 576460752303423488, ceiling2(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling2(-576460752303423490, 576460752303423488) = -576460752303423488
ceiling2(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling2(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling2(-1152921504606846978, 1152921504606846976) = -1152921504606846976
ceiling2(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling2(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling2(-2305843009213693954, 2305843009213693952) = -2305843009213693952
ceiling2(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling2(4611686018427387906, 4611686018427387904) = -9223372036854775808, ceiling2(-4611686018427387906, 4611686018427387904) = -4611686018427387904
ceiling2(-9223372036854775808, -9223372036854775808) = -9223372036854775808, ceiling2(-9223372036854775806, -9223372036854775808) = 0, ceiling2(9223372036854775806, -9223372036854775808) = -9223372036854775808

unsigned long int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(18446744073709551614, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(18446744073709551613, 1) = 18446744073709551613
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(18446744073709551612, 2) = 18446744073709551612
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(18446744073709551610, 4) = 18446744073709551612
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(18446744073709551606, 8) = 18446744073709551608
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(18446744073709551598, 16) = 18446744073709551600
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(18446744073709551582, 32) = 18446744073709551584
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(18446744073709551550, 64) = 18446744073709551552
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(18446744073709551486, 128) = 18446744073709551488
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(18446744073709551358, 256) = 18446744073709551360
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(18446744073709551102, 512) = 18446744073709551104
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(18446744073709550590, 1024) = 18446744073709550592
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(18446744073709549566, 2048) = 18446744073709549568
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(18446744073709547518, 4096) = 18446744073709547520
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(18446744073709543422, 8192) = 18446744073709543424
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = 32768, ceiling2(18446744073709535230, 16384) = 18446744073709535232
ceiling2(32768, 32768) = 32768, ceiling2(32770, 32768) = 65536, ceiling2(18446744073709518846, 32768) = 18446744073709518848
ceiling2(65536, 65536) = 65536, ceiling2(65538, 65536) = 131072, ceiling2(18446744073709486078, 65536) = 18446744073709486080
ceiling2(131072, 131072) = 131072, ceiling2(131074, 131072) = 262144, ceiling2(18446744073709420542, 131072) = 18446744073709420544
ceiling2(262144, 262144) = 262144, ceiling2(262146, 262144) = 524288, ceiling2(18446744073709289470, 262144) = 18446744073709289472
ceiling2(524288, 524288) = 524288, ceiling2(524290, 524288) = 1048576, ceiling2(18446744073709027326, 524288) = 18446744073709027328
ceiling2(1048576, 1048576) = 1048576, ceiling2(1048578, 1048576) = 2097152, ceiling2(18446744073708503038, 1048576) = 18446744073708503040
ceiling2(2097152, 2097152) = 2097152, ceiling2(2097154, 2097152) = 4194304, ceiling2(18446744073707454462, 2097152) = 18446744073707454464
ceiling2(4194304, 4194304) = 4194304, ceiling2(4194306, 4194304) = 8388608, ceiling2(18446744073705357310, 4194304) = 18446744073705357312
ceiling2(8388608, 8388608) = 8388608, ceiling2(8388610, 8388608) = 16777216, ceiling2(18446744073701163006, 8388608) = 18446744073701163008
ceiling2(16777216, 16777216) = 16777216, ceiling2(16777218, 16777216) = 33554432, ceiling2(18446744073692774398, 16777216) = 18446744073692774400
ceiling2(33554432, 33554432) = 33554432, ceiling2(33554434, 33554432) = 67108864, ceiling2(18446744073675997182, 33554432) = 18446744073675997184
ceiling2(67108864, 67108864) = 67108864, ceiling2(67108866, 67108864) = 134217728, ceiling2(18446744073642442750, 67108864) = 18446744073642442752
ceiling2(134217728, 134217728) = 134217728, ceiling2(134217730, 134217728) = 268435456, ceiling2(18446744073575333886, 134217728) = 18446744073575333888
ceiling2(268435456, 268435456) = 268435456, ceiling2(268435458, 268435456) = 536870912, ceiling2(18446744073441116158, 268435456) = 18446744073441116160
ceiling2(536870912, 536870912) = 536870912, ceiling2(536870914, 536870912) = 1073741824, ceiling2(18446744073172680702, 536870912) = 18446744073172680704
ceiling2(1073741824, 1073741824) = 1073741824, ceiling2(1073741826, 1073741824) = 2147483648, ceiling2(18446744072635809790, 1073741824) = 18446744072635809792
ceiling2(2147483648, 2147483648) = 2147483648, ceiling2(2147483650, 2147483648) = 4294967296, ceiling2(18446744071562067966, 2147483648) = 18446744071562067968
ceiling2(4294967296, 4294967296) = 4294967296, ceiling2(4294967298, 4294967296) = 8589934592, ceiling2(18446744069414584318, 4294967296) = 18446744069414584320
ceiling2(8589934592, 8589934592) = 8589934592, ceiling2(8589934594, 8589934592) = 17179869184, ceiling2(18446744065119617022, 8589934592) = 18446744065119617024
ceiling2(17179869184, 17179869184) = 17179869184, ceiling2(17179869186, 17179869184) = 34359738368, ceiling2(18446744056529682430, 17179869184) = 18446744056529682432
ceiling2(34359738368, 34359738368) = 34359738368, ceiling2(34359738370, 34359738368) = 68719476736, ceiling2(18446744039349813246, 34359738368) = 18446744039349813248
ceiling2(68719476736, 68719476736) = 68719476736, ceiling2(68719476738, 68719476736) = 137438953472, ceiling2(18446744004990074878, 68719476736) = 18446744004990074880
ceiling2(137438953472, 137438953472) = 137438953472, ceiling2(137438953474, 137438953472) = 274877906944, ceiling2(18446743936270598142, 137438953472) = 18446743936270598144
ceiling2(274877906944, 274877906944) = 274877906944, ceiling2(274877906946, 274877906944) = 549755813888, ceiling2(18446743798831644670, 274877906944) = 18446743798831644672
ceiling2(549755813888, 549755813888) = 549755813888, ceiling2(549755813890, 549755813888) = 1099511627776, ceiling2(18446743523953737726, 549755813888) = 18446743523953737728
ceiling2(1099511627776, 1099511627776) = 1099511627776, ceiling2(1099511627778, 1099511627776) = 2199023255552, ceiling2(18446742974197923838, 1099511627776) = 18446742974197923840
ceiling2(2199023255552, 2199023255552) = 2199023255552, ceiling2(2199023255554, 2199023255552) = 4398046511104, ceiling2(18446741874686296062, 2199023255552) = 18446741874686296064
ceiling2(4398046511104, 4398046511104) = 4398046511104, ceiling2(4398046511106, 4398046511104) = 8796093022208, ceiling2(18446739675663040510, 4398046511104) = 18446739675663040512
ceiling2(8796093022208, 8796093022208) = 8796093022208, ceiling2(8796093022210, 8796093022208) = 17592186044416, ceiling2(18446735277616529406, 8796093022208) = 18446735277616529408
ceiling2(17592186044416, 17592186044416) = 17592186044416, ceiling2(17592186044418, 17592186044416) = 35184372088832, ceiling2(18446726481523507198, 17592186044416) = 18446726481523507200
ceiling2(35184372088832, 35184372088832) = 35184372088832, ceiling2(35184372088834, 35184372088832) = 70368744177664, ceiling2(18446708889337462782, 35184372088832) = 18446708889337462784
ceiling2(70368744177664, 70368744177664) = 70368744177664, ceiling2(70368744177666, 70368744177664) = 140737488355328, ceiling2(18446673704965373950, 70368744177664) = 18446673704965373952
ceiling2(140737488355328, 140737488355328) = 140737488355328, ceiling2(140737488355330, 140737488355328) = 281474976710656, ceiling2(18446603336221196286, 140737488355328) = 18446603336221196288
ceiling2(281474976710656, 281474976710656) = 281474976710656, ceiling2(281474976710658, 281474976710656) = 562949953421312, ceiling2(18446462598732840958, 281474976710656) = 18446462598732840960
ceiling2(562949953421312, 562949953421312) = 562949953421312, ceiling2(562949953421314, 562949953421312) = 1125899906842624, ceiling2(18446181123756130302, 562949953421312) = 18446181123756130304
ceiling2(1125899906842624, 1125899906842624) = 1125899906842624, ceiling2(1125899906842626, 1125899906842624) = 2251799813685248, ceiling2(18445618173802708990, 1125899906842624) = 18445618173802708992
ceiling2(2251799813685248, 2251799813685248) = 2251799813685248, ceiling2(2251799813685250, 2251799813685248) = 4503599627370496, ceiling2(18444492273895866366, 2251799813685248) = 18444492273895866368
ceiling2(4503599627370496, 4503599627370496) = 4503599627370496, ceiling2(4503599627370498, 4503599627370496) = 9007199254740992, ceiling2(18442240474082181118, 4503599627370496) = 18442240474082181120
ceiling2(9007199254740992, 9007199254740992) = 9007199254740992, ceiling2(9007199254740994, 9007199254740992) = 18014398509481984, ceiling2(18437736874454810622, 9007199254740992) = 18437736874454810624
ceiling2(18014398509481984, 18014398509481984) = 18014398509481984, ceiling2(18014398509481986, 18014398509481984) = 36028797018963968, ceiling2(18428729675200069630, 18014398509481984) = 18428729675200069632
ceiling2(36028797018963968, 36028797018963968) = 36028797018963968, ceiling2(36028797018963970, 36028797018963968) = 72057594037927936, ceiling2(18410715276690587646, 36028797018963968) = 18410715276690587648
ceiling2(72057594037927936, 72057594037927936) = 72057594037927936, ceiling2(72057594037927938, 72057594037927936) = 144115188075855872, ceiling2(18374686479671623678, 72057594037927936) = 18374686479671623680
ceiling2(144115188075855872, 144115188075855872) = 144115188075855872, ceiling2(144115188075855874, 144115188075855872) = 288230376151711744, ceiling2(18302628885633695742, 144115188075855872) = 18302628885633695744
ceiling2(288230376151711744, 288230376151711744) = 288230376151711744, ceiling2(288230376151711746, 288230376151711744) = 576460752303423488, ceiling2(18158513697557839870, 288230376151711744) = 18158513697557839872
ceiling2(576460752303423488, 576460752303423488) = 576460752303423488, ceiling2(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling2(17870283321406128126, 576460752303423488) = 17870283321406128128
ceiling2(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling2(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling2(17293822569102704638, 1152921504606846976) = 17293822569102704640
ceiling2(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling2(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling2(16140901064495857662, 2305843009213693952) = 16140901064495857664
ceiling2(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling2(4611686018427387906, 4611686018427387904) = 9223372036854775808, ceiling2(13835058055282163710, 4611686018427387904) = 13835058055282163712
ceiling2(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling2(9223372036854775810, 9223372036854775808) = 0, ceiling2(9223372036854775806, 9223372036854775808) = 9223372036854775808

long long int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(-2, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(-3, 1) = -3
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(-4, 2) = -4
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(-6, 4) = -4
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(-10, 8) = -8
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(-18, 16) = -16
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(-34, 32) = -32
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(-66, 64) = -64
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(-130, 128) = -128
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(-258, 256) = -256
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(-514, 512) = -512
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(-1026, 1024) = -1024
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(-2050, 2048) = -2048
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(-4098, 4096) = -4096
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(-8194, 8192) = -8192
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = 32768, ceiling2(-16386, 16384) = -16384
ceiling2(32768, 32768) = 32768, ceiling2(32770, 32768) = 65536, ceiling2(-32770, 32768) = -32768
ceiling2(65536, 65536) = 65536, ceiling2(65538, 65536) = 131072, ceiling2(-65538, 65536) = -65536
ceiling2(131072, 131072) = 131072, ceiling2(131074, 131072) = 262144, ceiling2(-131074, 131072) = -131072
ceiling2(262144, 262144) = 262144, ceiling2(262146, 262144) = 524288, ceiling2(-262146, 262144) = -262144
ceiling2(524288, 524288) = 524288, ceiling2(524290, 524288) = 1048576, ceiling2(-524290, 524288) = -524288
ceiling2(1048576, 1048576) = 1048576, ceiling2(1048578, 1048576) = 2097152, ceiling2(-1048578, 1048576) = -1048576
ceiling2(2097152, 2097152) = 2097152, ceiling2(2097154, 2097152) = 4194304, ceiling2(-2097154, 2097152) = -2097152
ceiling2(4194304, 4194304) = 4194304, ceiling2(4194306, 4194304) = 8388608, ceiling2(-4194306, 4194304) = -4194304
ceiling2(8388608, 8388608) = 8388608, ceiling2(8388610, 8388608) = 16777216, ceiling2(-8388610, 8388608) = -8388608
ceiling2(16777216, 16777216) = 16777216, ceiling2(16777218, 16777216) = 33554432, ceiling2(-16777218, 16777216) = -16777216
ceiling2(33554432, 33554432) = 33554432, ceiling2(33554434, 33554432) = 67108864, ceiling2(-33554434, 33554432) = -33554432
ceiling2(67108864, 67108864) = 67108864, ceiling2(67108866, 67108864) = 134217728, ceiling2(-67108866, 67108864) = -67108864
ceiling2(134217728, 134217728) = 134217728, ceiling2(134217730, 134217728) = 268435456, ceiling2(-134217730, 134217728) = -134217728
ceiling2(268435456, 268435456) = 268435456, ceiling2(268435458, 268435456) = 536870912, ceiling2(-268435458, 268435456) = -268435456
ceiling2(536870912, 536870912) = 536870912, ceiling2(536870914, 536870912) = 1073741824, ceiling2(-536870914, 536870912) = -536870912
ceiling2(1073741824, 1073741824) = 1073741824, ceiling2(1073741826, 1073741824) = 2147483648, ceiling2(-1073741826, 1073741824) = -1073741824
ceiling2(2147483648, 2147483648) = 2147483648, ceiling2(2147483650, 2147483648) = 4294967296, ceiling2(-2147483650, 2147483648) = -2147483648
ceiling2(4294967296, 4294967296) = 4294967296, ceiling2(4294967298, 4294967296) = 8589934592, ceiling2(-4294967298, 4294967296) = -4294967296
ceiling2(8589934592, 8589934592) = 8589934592, ceiling2(8589934594, 8589934592) = 17179869184, ceiling2(-8589934594, 8589934592) = -8589934592
ceiling2(17179869184, 17179869184) = 17179869184, ceiling2(17179869186, 17179869184) = 34359738368, ceiling2(-17179869186, 17179869184) = -17179869184
ceiling2(34359738368, 34359738368) = 34359738368, ceiling2(34359738370, 34359738368) = 68719476736, ceiling2(-34359738370, 34359738368) = -34359738368
ceiling2(68719476736, 68719476736) = 68719476736, ceiling2(68719476738, 68719476736) = 137438953472, ceiling2(-68719476738, 68719476736) = -68719476736
ceiling2(137438953472, 137438953472) = 137438953472, ceiling2(137438953474, 137438953472) = 274877906944, ceiling2(-137438953474, 137438953472) = -137438953472
ceiling2(274877906944, 274877906944) = 274877906944, ceiling2(274877906946, 274877906944) = 549755813888, ceiling2(-274877906946, 274877906944) = -274877906944
ceiling2(549755813888, 549755813888) = 549755813888, ceiling2(549755813890, 549755813888) = 1099511627776, ceiling2(-549755813890, 549755813888) = -549755813888
ceiling2(1099511627776, 1099511627776) = 1099511627776, ceiling2(1099511627778, 1099511627776) = 2199023255552, ceiling2(-1099511627778, 1099511627776) = -1099511627776
ceiling2(2199023255552, 2199023255552) = 2199023255552, ceiling2(2199023255554, 2199023255552) = 4398046511104, ceiling2(-2199023255554, 2199023255552) = -2199023255552
ceiling2(4398046511104, 4398046511104) = 4398046511104, ceiling2(4398046511106, 4398046511104) = 8796093022208, ceiling2(-4398046511106, 4398046511104) = -4398046511104
ceiling2(8796093022208, 8796093022208) = 8796093022208, ceiling2(8796093022210, 8796093022208) = 17592186044416, ceiling2(-8796093022210, 8796093022208) = -8796093022208
ceiling2(17592186044416, 17592186044416) = 17592186044416, ceiling2(17592186044418, 17592186044416) = 35184372088832, ceiling2(-17592186044418, 17592186044416) = -17592186044416
ceiling2(35184372088832, 35184372088832) = 35184372088832, ceiling2(35184372088834, 35184372088832) = 70368744177664, ceiling2(-35184372088834, 35184372088832) = -35184372088832
ceiling2(70368744177664, 70368744177664) = 70368744177664, ceiling2(70368744177666, 70368744177664) = 140737488355328, ceiling2(-70368744177666, 70368744177664) = -70368744177664
ceiling2(140737488355328, 140737488355328) = 140737488355328, ceiling2(140737488355330, 140737488355328) = 281474976710656, ceiling2(-140737488355330, 140737488355328) = -140737488355328
ceiling2(281474976710656, 281474976710656) = 281474976710656, ceiling2(281474976710658, 281474976710656) = 562949953421312, ceiling2(-281474976710658, 281474976710656) = -281474976710656
ceiling2(562949953421312, 562949953421312) = 562949953421312, ceiling2(562949953421314, 562949953421312) = 1125899906842624, ceiling2(-562949953421314, 562949953421312) = -562949953421312
ceiling2(1125899906842624, 1125899906842624) = 1125899906842624, ceiling2(1125899906842626, 1125899906842624) = 2251799813685248, ceiling2(-1125899906842626, 1125899906842624) = -1125899906842624
ceiling2(2251799813685248, 2251799813685248) = 2251799813685248, ceiling2(2251799813685250, 2251799813685248) = 4503599627370496, ceiling2(-2251799813685250, 2251799813685248) = -2251799813685248
ceiling2(4503599627370496, 4503599627370496) = 4503599627370496, ceiling2(4503599627370498, 4503599627370496) = 9007199254740992, ceiling2(-4503599627370498, 4503599627370496) = -4503599627370496
ceiling2(9007199254740992, 9007199254740992) = 9007199254740992, ceiling2(9007199254740994, 9007199254740992) = 18014398509481984, ceiling2(-9007199254740994, 9007199254740992) = -9007199254740992
ceiling2(18014398509481984, 18014398509481984) = 18014398509481984, ceiling2(18014398509481986, 18014398509481984) = 36028797018963968, ceiling2(-18014398509481986, 18014398509481984) = -18014398509481984
ceiling2(36028797018963968, 36028797018963968) = 36028797018963968, ceiling2(36028797018963970, 36028797018963968) = 72057594037927936, ceiling2(-36028797018963970, 36028797018963968) = -36028797018963968
ceiling2(72057594037927936, 72057594037927936) = 72057594037927936, ceiling2(72057594037927938, 72057594037927936) = 144115188075855872, ceiling2(-72057594037927938, 72057594037927936) = -72057594037927936
ceiling2(144115188075855872, 144115188075855872) = 144115188075855872, ceiling2(144115188075855874, 144115188075855872) = 288230376151711744, ceiling2(-144115188075855874, 144115188075855872) = -144115188075855872
ceiling2(288230376151711744, 288230376151711744) = 288230376151711744, ceiling2(288230376151711746, 288230376151711744) = 576460752303423488, ceiling2(-288230376151711746, 288230376151711744) = -288230376151711744
ceiling2(576460752303423488, 576460752303423488) = 576460752303423488, ceiling2(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling2(-576460752303423490, 576460752303423488) = -576460752303423488
ceiling2(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling2(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling2(-1152921504606846978, 1152921504606846976) = -1152921504606846976
ceiling2(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling2(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling2(-2305843009213693954, 2305843009213693952) = -2305843009213693952
ceiling2(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling2(4611686018427387906, 4611686018427387904) = -9223372036854775808, ceiling2(-4611686018427387906, 4611686018427387904) = -4611686018427387904
ceiling2(-9223372036854775808, -9223372036854775808) = -9223372036854775808, ceiling2(-9223372036854775806, -9223372036854775808) = 0, ceiling2(9223372036854775806, -9223372036854775808) = -9223372036854775808

unsigned long long int
ceiling2(0, 0) = 0, ceiling2(2, 0) = 0, ceiling2(18446744073709551614, 0) = 0
ceiling2(1, 1) = 1, ceiling2(3, 1) = 3, ceiling2(18446744073709551613, 1) = 18446744073709551613
ceiling2(2, 2) = 2, ceiling2(4, 2) = 4, ceiling2(18446744073709551612, 2) = 18446744073709551612
ceiling2(4, 4) = 4, ceiling2(6, 4) = 8, ceiling2(18446744073709551610, 4) = 18446744073709551612
ceiling2(8, 8) = 8, ceiling2(10, 8) = 16, ceiling2(18446744073709551606, 8) = 18446744073709551608
ceiling2(16, 16) = 16, ceiling2(18, 16) = 32, ceiling2(18446744073709551598, 16) = 18446744073709551600
ceiling2(32, 32) = 32, ceiling2(34, 32) = 64, ceiling2(18446744073709551582, 32) = 18446744073709551584
ceiling2(64, 64) = 64, ceiling2(66, 64) = 128, ceiling2(18446744073709551550, 64) = 18446744073709551552
ceiling2(128, 128) = 128, ceiling2(130, 128) = 256, ceiling2(18446744073709551486, 128) = 18446744073709551488
ceiling2(256, 256) = 256, ceiling2(258, 256) = 512, ceiling2(18446744073709551358, 256) = 18446744073709551360
ceiling2(512, 512) = 512, ceiling2(514, 512) = 1024, ceiling2(18446744073709551102, 512) = 18446744073709551104
ceiling2(1024, 1024) = 1024, ceiling2(1026, 1024) = 2048, ceiling2(18446744073709550590, 1024) = 18446744073709550592
ceiling2(2048, 2048) = 2048, ceiling2(2050, 2048) = 4096, ceiling2(18446744073709549566, 2048) = 18446744073709549568
ceiling2(4096, 4096) = 4096, ceiling2(4098, 4096) = 8192, ceiling2(18446744073709547518, 4096) = 18446744073709547520
ceiling2(8192, 8192) = 8192, ceiling2(8194, 8192) = 16384, ceiling2(18446744073709543422, 8192) = 18446744073709543424
ceiling2(16384, 16384) = 16384, ceiling2(16386, 16384) = 32768, ceiling2(18446744073709535230, 16384) = 18446744073709535232
ceiling2(32768, 32768) = 32768, ceiling2(32770, 32768) = 65536, ceiling2(18446744073709518846, 32768) = 18446744073709518848
ceiling2(65536, 65536) = 65536, ceiling2(65538, 65536) = 131072, ceiling2(18446744073709486078, 65536) = 18446744073709486080
ceiling2(131072, 131072) = 131072, ceiling2(131074, 131072) = 262144, ceiling2(18446744073709420542, 131072) = 18446744073709420544
ceiling2(262144, 262144) = 262144, ceiling2(262146, 262144) = 524288, ceiling2(18446744073709289470, 262144) = 18446744073709289472
ceiling2(524288, 524288) = 524288, ceiling2(524290, 524288) = 1048576, ceiling2(18446744073709027326, 524288) = 18446744073709027328
ceiling2(1048576, 1048576) = 1048576, ceiling2(1048578, 1048576) = 2097152, ceiling2(18446744073708503038, 1048576) = 18446744073708503040
ceiling2(2097152, 2097152) = 2097152, ceiling2(2097154, 2097152) = 4194304, ceiling2(18446744073707454462, 2097152) = 18446744073707454464
ceiling2(4194304, 4194304) = 4194304, ceiling2(4194306, 4194304) = 8388608, ceiling2(18446744073705357310, 4194304) = 18446744073705357312
ceiling2(8388608, 8388608) = 8388608, ceiling2(8388610, 8388608) = 16777216, ceiling2(18446744073701163006, 8388608) = 18446744073701163008
ceiling2(16777216, 16777216) = 16777216, ceiling2(16777218, 16777216) = 33554432, ceiling2(18446744073692774398, 16777216) = 18446744073692774400
ceiling2(33554432, 33554432) = 33554432, ceiling2(33554434, 33554432) = 67108864, ceiling2(18446744073675997182, 33554432) = 18446744073675997184
ceiling2(67108864, 67108864) = 67108864, ceiling2(67108866, 67108864) = 134217728, ceiling2(18446744073642442750, 67108864) = 18446744073642442752
ceiling2(134217728, 134217728) = 134217728, ceiling2(134217730, 134217728) = 268435456, ceiling2(18446744073575333886, 134217728) = 18446744073575333888
ceiling2(268435456, 268435456) = 268435456, ceiling2(268435458, 268435456) = 536870912, ceiling2(18446744073441116158, 268435456) = 18446744073441116160
ceiling2(536870912, 536870912) = 536870912, ceiling2(536870914, 536870912) = 1073741824, ceiling2(18446744073172680702, 536870912) = 18446744073172680704
ceiling2(1073741824, 1073741824) = 1073741824, ceiling2(1073741826, 1073741824) = 2147483648, ceiling2(18446744072635809790, 1073741824) = 18446744072635809792
ceiling2(2147483648, 2147483648) = 2147483648, ceiling2(2147483650, 2147483648) = 4294967296, ceiling2(18446744071562067966, 2147483648) = 18446744071562067968
ceiling2(4294967296, 4294967296) = 4294967296, ceiling2(4294967298, 4294967296) = 8589934592, ceiling2(18446744069414584318, 4294967296) = 18446744069414584320
ceiling2(8589934592, 8589934592) = 8589934592, ceiling2(8589934594, 8589934592) = 17179869184, ceiling2(18446744065119617022, 8589934592) = 18446744065119617024
ceiling2(17179869184, 17179869184) = 17179869184, ceiling2(17179869186, 17179869184) = 34359738368, ceiling2(18446744056529682430, 17179869184) = 18446744056529682432
ceiling2(34359738368, 34359738368) = 34359738368, ceiling2(34359738370, 34359738368) = 68719476736, ceiling2(18446744039349813246, 34359738368) = 18446744039349813248
ceiling2(68719476736, 68719476736) = 68719476736, ceiling2(68719476738, 68719476736) = 137438953472, ceiling2(18446744004990074878, 68719476736) = 18446744004990074880
ceiling2(137438953472, 137438953472) = 137438953472, ceiling2(137438953474, 137438953472) = 274877906944, ceiling2(18446743936270598142, 137438953472) = 18446743936270598144
ceiling2(274877906944, 274877906944) = 274877906944, ceiling2(274877906946, 274877906944) = 549755813888, ceiling2(18446743798831644670, 274877906944) = 18446743798831644672
ceiling2(549755813888, 549755813888) = 549755813888, ceiling2(549755813890, 549755813888) = 1099511627776, ceiling2(18446743523953737726, 549755813888) = 18446743523953737728
ceiling2(1099511627776, 1099511627776) = 1099511627776, ceiling2(1099511627778, 1099511627776) = 2199023255552, ceiling2(18446742974197923838, 1099511627776) = 18446742974197923840
ceiling2(2199023255552, 2199023255552) = 2199023255552, ceiling2(2199023255554, 2199023255552) = 4398046511104, ceiling2(18446741874686296062, 2199023255552) = 18446741874686296064
ceiling2(4398046511104, 4398046511104) = 4398046511104, ceiling2(4398046511106, 4398046511104) = 8796093022208, ceiling2(18446739675663040510, 4398046511104) = 18446739675663040512
ceiling2(8796093022208, 8796093022208) = 8796093022208, ceiling2(8796093022210, 8796093022208) = 17592186044416, ceiling2(18446735277616529406, 8796093022208) = 18446735277616529408
ceiling2(17592186044416, 17592186044416) = 17592186044416, ceiling2(17592186044418, 17592186044416) = 35184372088832, ceiling2(18446726481523507198, 17592186044416) = 18446726481523507200
ceiling2(35184372088832, 35184372088832) = 35184372088832, ceiling2(35184372088834, 35184372088832) = 70368744177664, ceiling2(18446708889337462782, 35184372088832) = 18446708889337462784
ceiling2(70368744177664, 70368744177664) = 70368744177664, ceiling2(70368744177666, 70368744177664) = 140737488355328, ceiling2(18446673704965373950, 70368744177664) = 18446673704965373952
ceiling2(140737488355328, 140737488355328) = 140737488355328, ceiling2(140737488355330, 140737488355328) = 281474976710656, ceiling2(18446603336221196286, 140737488355328) = 18446603336221196288
ceiling2(281474976710656, 281474976710656) = 281474976710656, ceiling2(281474976710658, 281474976710656) = 562949953421312, ceiling2(18446462598732840958, 281474976710656) = 18446462598732840960
ceiling2(562949953421312, 562949953421312) = 562949953421312, ceiling2(562949953421314, 562949953421312) = 1125899906842624, ceiling2(18446181123756130302, 562949953421312) = 18446181123756130304
ceiling2(1125899906842624, 1125899906842624) = 1125899906842624, ceiling2(1125899906842626, 1125899906842624) = 2251799813685248, ceiling2(18445618173802708990, 1125899906842624) = 18445618173802708992
ceiling2(2251799813685248, 2251799813685248) = 2251799813685248, ceiling2(2251799813685250, 2251799813685248) = 4503599627370496, ceiling2(18444492273895866366, 2251799813685248) = 18444492273895866368
ceiling2(4503599627370496, 4503599627370496) = 4503599627370496, ceiling2(4503599627370498, 4503599627370496) = 9007199254740992, ceiling2(18442240474082181118, 4503599627370496) = 18442240474082181120
ceiling2(9007199254740992, 9007199254740992) = 9007199254740992, ceiling2(9007199254740994, 9007199254740992) = 18014398509481984, ceiling2(18437736874454810622, 9007199254740992) = 18437736874454810624
ceiling2(18014398509481984, 18014398509481984) = 18014398509481984, ceiling2(18014398509481986, 18014398509481984) = 36028797018963968, ceiling2(18428729675200069630, 18014398509481984) = 18428729675200069632
ceiling2(36028797018963968, 36028797018963968) = 36028797018963968, ceiling2(36028797018963970, 36028797018963968) = 72057594037927936, ceiling2(18410715276690587646, 36028797018963968) = 18410715276690587648
ceiling2(72057594037927936, 72057594037927936) = 72057594037927936, ceiling2(72057594037927938, 72057594037927936) = 144115188075855872, ceiling2(18374686479671623678, 72057594037927936) = 18374686479671623680
ceiling2(144115188075855872, 144115188075855872) = 144115188075855872, ceiling2(144115188075855874, 144115188075855872) = 288230376151711744, ceiling2(18302628885633695742, 144115188075855872) = 18302628885633695744
ceiling2(288230376151711744, 288230376151711744) = 288230376151711744, ceiling2(288230376151711746, 288230376151711744) = 576460752303423488, ceiling2(18158513697557839870, 288230376151711744) = 18158513697557839872
ceiling2(576460752303423488, 576460752303423488) = 576460752303423488, ceiling2(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling2(17870283321406128126, 576460752303423488) = 17870283321406128128
ceiling2(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling2(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling2(17293822569102704638, 1152921504606846976) = 17293822569102704640
ceiling2(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling2(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling2(16140901064495857662, 2305843009213693952) = 16140901064495857664
ceiling2(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling2(4611686018427387906, 4611686018427387904) = 9223372036854775808, ceiling2(13835058055282163710, 4611686018427387904) = 13835058055282163712
ceiling2(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling2(9223372036854775810, 9223372036854775808) = 0, ceiling2(9223372036854775806, 9223372036854775808) = 9223372036854775808


ceiling

signed char
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(-4, 2) = -1
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(-6, 4) = 0
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(-10, 8) = 0
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(-18, 16) = 0
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(-34, 32) = 0
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(-66, 64) = 0
ceiling(-128, -128) = 2, ceiling(-126, -128) = 1, ceiling(126, -128) = 0

unsigned char
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(253, 1) = 253
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(252, 2) = 126
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(250, 4) = 63
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(246, 8) = 31
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(238, 16) = 15
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(222, 32) = 7
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(190, 64) = 3
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(126, 128) = 1

short int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(-4, 2) = -1
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(-6, 4) = 0
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(-10, 8) = 0
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(-18, 16) = 0
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(-34, 32) = 0
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(-66, 64) = 0
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(-130, 128) = 0
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(-258, 256) = 0
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(-514, 512) = 0
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(-1026, 1024) = 0
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(-2050, 2048) = 0
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(-4098, 4096) = 0
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(-8194, 8192) = 0
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(-16386, 16384) = 0
ceiling(-32768, -32768) = 2, ceiling(-32766, -32768) = 1, ceiling(32766, -32768) = 0

unsigned short int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(65533, 1) = 65533
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(65532, 2) = 32766
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(65530, 4) = 16383
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(65526, 8) = 8191
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(65518, 16) = 4095
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(65502, 32) = 2047
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(65470, 64) = 1023
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(65406, 128) = 511
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(65278, 256) = 255
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(65022, 512) = 127
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(64510, 1024) = 63
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(63486, 2048) = 31
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(61438, 4096) = 15
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(57342, 8192) = 7
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(49150, 16384) = 3
ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(32766, 32768) = 1

int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(-4, 2) = -1
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(-6, 4) = 0
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(-10, 8) = 0
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(-18, 16) = 0
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(-34, 32) = 0
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(-66, 64) = 0
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(-130, 128) = 0
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(-258, 256) = 0
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(-514, 512) = 0
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(-1026, 1024) = 0
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(-2050, 2048) = 0
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(-4098, 4096) = 0
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(-8194, 8192) = 0
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(-16386, 16384) = 0
ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(-32770, 32768) = 0
ceiling(65536, 65536) = 1, ceiling(65538, 65536) = 2, ceiling(-65538, 65536) = 0
ceiling(131072, 131072) = 1, ceiling(131074, 131072) = 2, ceiling(-131074, 131072) = 0
ceiling(262144, 262144) = 1, ceiling(262146, 262144) = 2, ceiling(-262146, 262144) = 0
ceiling(524288, 524288) = 1, ceiling(524290, 524288) = 2, ceiling(-524290, 524288) = 0
ceiling(1048576, 1048576) = 1, ceiling(1048578, 1048576) = 2, ceiling(-1048578, 1048576) = 0
ceiling(2097152, 2097152) = 1, ceiling(2097154, 2097152) = 2, ceiling(-2097154, 2097152) = 0
ceiling(4194304, 4194304) = 1, ceiling(4194306, 4194304) = 2, ceiling(-4194306, 4194304) = 0
ceiling(8388608, 8388608) = 1, ceiling(8388610, 8388608) = 2, ceiling(-8388610, 8388608) = 0
ceiling(16777216, 16777216) = 1, ceiling(16777218, 16777216) = 2, ceiling(-16777218, 16777216) = 0
ceiling(33554432, 33554432) = 1, ceiling(33554434, 33554432) = 2, ceiling(-33554434, 33554432) = 0
ceiling(67108864, 67108864) = 1, ceiling(67108866, 67108864) = 2, ceiling(-67108866, 67108864) = 0
ceiling(134217728, 134217728) = 1, ceiling(134217730, 134217728) = 2, ceiling(-134217730, 134217728) = 0
ceiling(268435456, 268435456) = 1, ceiling(268435458, 268435456) = 2, ceiling(-268435458, 268435456) = 0
ceiling(536870912, 536870912) = 1, ceiling(536870914, 536870912) = 2, ceiling(-536870914, 536870912) = 0
ceiling(1073741824, 1073741824) = 1, ceiling(1073741826, 1073741824) = -1, ceiling(-1073741826, 1073741824) = 0
ceiling(-2147483648, -2147483648) = 0, ceiling(-2147483646, -2147483648) = 0, ceiling(2147483646, -2147483648) = 0

unsigned int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(4294967293, 1) = 4294967293
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(4294967292, 2) = 2147483646
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(4294967290, 4) = 1073741823
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(4294967286, 8) = 536870911
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(4294967278, 16) = 268435455
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(4294967262, 32) = 134217727
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(4294967230, 64) = 67108863
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(4294967166, 128) = 33554431
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(4294967038, 256) = 16777215
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(4294966782, 512) = 8388607
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(4294966270, 1024) = 4194303
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(4294965246, 2048) = 2097151
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(4294963198, 4096) = 1048575
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(4294959102, 8192) = 524287
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(4294950910, 16384) = 262143
ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(4294934526, 32768) = 131071
ceiling(65536, 65536) = 1, ceiling(65538, 65536) = 2, ceiling(4294901758, 65536) = 65535
ceiling(131072, 131072) = 1, ceiling(131074, 131072) = 2, ceiling(4294836222, 131072) = 32767
ceiling(262144, 262144) = 1, ceiling(262146, 262144) = 2, ceiling(4294705150, 262144) = 16383
ceiling(524288, 524288) = 1, ceiling(524290, 524288) = 2, ceiling(4294443006, 524288) = 8191
ceiling(1048576, 1048576) = 1, ceiling(1048578, 1048576) = 2, ceiling(4293918718, 1048576) = 4095
ceiling(2097152, 2097152) = 1, ceiling(2097154, 2097152) = 2, ceiling(4292870142, 2097152) = 2047
ceiling(4194304, 4194304) = 1, ceiling(4194306, 4194304) = 2, ceiling(4290772990, 4194304) = 1023
ceiling(8388608, 8388608) = 1, ceiling(8388610, 8388608) = 2, ceiling(4286578686, 8388608) = 511
ceiling(16777216, 16777216) = 1, ceiling(16777218, 16777216) = 2, ceiling(4278190078, 16777216) = 255
ceiling(33554432, 33554432) = 1, ceiling(33554434, 33554432) = 2, ceiling(4261412862, 33554432) = 127
ceiling(67108864, 67108864) = 1, ceiling(67108866, 67108864) = 2, ceiling(4227858430, 67108864) = 63
ceiling(134217728, 134217728) = 1, ceiling(134217730, 134217728) = 2, ceiling(4160749566, 134217728) = 31
ceiling(268435456, 268435456) = 1, ceiling(268435458, 268435456) = 2, ceiling(4026531838, 268435456) = 15
ceiling(536870912, 536870912) = 1, ceiling(536870914, 536870912) = 2, ceiling(3758096382, 536870912) = 7
ceiling(1073741824, 1073741824) = 1, ceiling(1073741826, 1073741824) = 2, ceiling(3221225470, 1073741824) = 3
ceiling(2147483648, 2147483648) = 1, ceiling(2147483650, 2147483648) = 0, ceiling(2147483646, 2147483648) = 1

long int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(-4, 2) = -1
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(-6, 4) = 0
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(-10, 8) = 0
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(-18, 16) = 0
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(-34, 32) = 0
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(-66, 64) = 0
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(-130, 128) = 0
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(-258, 256) = 0
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(-514, 512) = 0
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(-1026, 1024) = 0
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(-2050, 2048) = 0
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(-4098, 4096) = 0
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(-8194, 8192) = 0
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(-16386, 16384) = 0
ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(-32770, 32768) = 0
ceiling(65536, 65536) = 1, ceiling(65538, 65536) = 2, ceiling(-65538, 65536) = 0
ceiling(131072, 131072) = 1, ceiling(131074, 131072) = 2, ceiling(-131074, 131072) = 0
ceiling(262144, 262144) = 1, ceiling(262146, 262144) = 2, ceiling(-262146, 262144) = 0
ceiling(524288, 524288) = 1, ceiling(524290, 524288) = 2, ceiling(-524290, 524288) = 0
ceiling(1048576, 1048576) = 1, ceiling(1048578, 1048576) = 2, ceiling(-1048578, 1048576) = 0
ceiling(2097152, 2097152) = 1, ceiling(2097154, 2097152) = 2, ceiling(-2097154, 2097152) = 0
ceiling(4194304, 4194304) = 1, ceiling(4194306, 4194304) = 2, ceiling(-4194306, 4194304) = 0
ceiling(8388608, 8388608) = 1, ceiling(8388610, 8388608) = 2, ceiling(-8388610, 8388608) = 0
ceiling(16777216, 16777216) = 1, ceiling(16777218, 16777216) = 2, ceiling(-16777218, 16777216) = 0
ceiling(33554432, 33554432) = 1, ceiling(33554434, 33554432) = 2, ceiling(-33554434, 33554432) = 0
ceiling(67108864, 67108864) = 1, ceiling(67108866, 67108864) = 2, ceiling(-67108866, 67108864) = 0
ceiling(134217728, 134217728) = 1, ceiling(134217730, 134217728) = 2, ceiling(-134217730, 134217728) = 0
ceiling(268435456, 268435456) = 1, ceiling(268435458, 268435456) = 2, ceiling(-268435458, 268435456) = 0
ceiling(536870912, 536870912) = 1, ceiling(536870914, 536870912) = 2, ceiling(-536870914, 536870912) = 0
ceiling(1073741824, 1073741824) = 1, ceiling(1073741826, 1073741824) = 2, ceiling(-1073741826, 1073741824) = 0
ceiling(2147483648, 2147483648) = 1, ceiling(2147483650, 2147483648) = 2, ceiling(-2147483650, 2147483648) = 0
ceiling(4294967296, 4294967296) = 1, ceiling(4294967298, 4294967296) = 2, ceiling(-4294967298, 4294967296) = 0
ceiling(8589934592, 8589934592) = 1, ceiling(8589934594, 8589934592) = 2, ceiling(-8589934594, 8589934592) = 0
ceiling(17179869184, 17179869184) = 1, ceiling(17179869186, 17179869184) = 2, ceiling(-17179869186, 17179869184) = 0
ceiling(34359738368, 34359738368) = 1, ceiling(34359738370, 34359738368) = 2, ceiling(-34359738370, 34359738368) = 0
ceiling(68719476736, 68719476736) = 1, ceiling(68719476738, 68719476736) = 2, ceiling(-68719476738, 68719476736) = 0
ceiling(137438953472, 137438953472) = 1, ceiling(137438953474, 137438953472) = 2, ceiling(-137438953474, 137438953472) = 0
ceiling(274877906944, 274877906944) = 1, ceiling(274877906946, 274877906944) = 2, ceiling(-274877906946, 274877906944) = 0
ceiling(549755813888, 549755813888) = 1, ceiling(549755813890, 549755813888) = 2, ceiling(-549755813890, 549755813888) = 0
ceiling(1099511627776, 1099511627776) = 1, ceiling(1099511627778, 1099511627776) = 2, ceiling(-1099511627778, 1099511627776) = 0
ceiling(2199023255552, 2199023255552) = 1, ceiling(2199023255554, 2199023255552) = 2, ceiling(-2199023255554, 2199023255552) = 0
ceiling(4398046511104, 4398046511104) = 1, ceiling(4398046511106, 4398046511104) = 2, ceiling(-4398046511106, 4398046511104) = 0
ceiling(8796093022208, 8796093022208) = 1, ceiling(8796093022210, 8796093022208) = 2, ceiling(-8796093022210, 8796093022208) = 0
ceiling(17592186044416, 17592186044416) = 1, ceiling(17592186044418, 17592186044416) = 2, ceiling(-17592186044418, 17592186044416) = 0
ceiling(35184372088832, 35184372088832) = 1, ceiling(35184372088834, 35184372088832) = 2, ceiling(-35184372088834, 35184372088832) = 0
ceiling(70368744177664, 70368744177664) = 1, ceiling(70368744177666, 70368744177664) = 2, ceiling(-70368744177666, 70368744177664) = 0
ceiling(140737488355328, 140737488355328) = 1, ceiling(140737488355330, 140737488355328) = 2, ceiling(-140737488355330, 140737488355328) = 0
ceiling(281474976710656, 281474976710656) = 1, ceiling(281474976710658, 281474976710656) = 2, ceiling(-281474976710658, 281474976710656) = 0
ceiling(562949953421312, 562949953421312) = 1, ceiling(562949953421314, 562949953421312) = 2, ceiling(-562949953421314, 562949953421312) = 0
ceiling(1125899906842624, 1125899906842624) = 1, ceiling(1125899906842626, 1125899906842624) = 2, ceiling(-1125899906842626, 1125899906842624) = 0
ceiling(2251799813685248, 2251799813685248) = 1, ceiling(2251799813685250, 2251799813685248) = 2, ceiling(-2251799813685250, 2251799813685248) = 0
ceiling(4503599627370496, 4503599627370496) = 1, ceiling(4503599627370498, 4503599627370496) = 2, ceiling(-4503599627370498, 4503599627370496) = 0
ceiling(9007199254740992, 9007199254740992) = 1, ceiling(9007199254740994, 9007199254740992) = 2, ceiling(-9007199254740994, 9007199254740992) = 0
ceiling(18014398509481984, 18014398509481984) = 1, ceiling(18014398509481986, 18014398509481984) = 2, ceiling(-18014398509481986, 18014398509481984) = 0
ceiling(36028797018963968, 36028797018963968) = 1, ceiling(36028797018963970, 36028797018963968) = 2, ceiling(-36028797018963970, 36028797018963968) = 0
ceiling(72057594037927936, 72057594037927936) = 1, ceiling(72057594037927938, 72057594037927936) = 2, ceiling(-72057594037927938, 72057594037927936) = 0
ceiling(144115188075855872, 144115188075855872) = 1, ceiling(144115188075855874, 144115188075855872) = 2, ceiling(-144115188075855874, 144115188075855872) = 0
ceiling(288230376151711744, 288230376151711744) = 1, ceiling(288230376151711746, 288230376151711744) = 2, ceiling(-288230376151711746, 288230376151711744) = 0
ceiling(576460752303423488, 576460752303423488) = 1, ceiling(576460752303423490, 576460752303423488) = 2, ceiling(-576460752303423490, 576460752303423488) = 0
ceiling(1152921504606846976, 1152921504606846976) = 1, ceiling(1152921504606846978, 1152921504606846976) = 2, ceiling(-1152921504606846978, 1152921504606846976) = 0
ceiling(2305843009213693952, 2305843009213693952) = 1, ceiling(2305843009213693954, 2305843009213693952) = 2, ceiling(-2305843009213693954, 2305843009213693952) = 0
ceiling(4611686018427387904, 4611686018427387904) = 1, ceiling(4611686018427387906, 4611686018427387904) = -1, ceiling(-4611686018427387906, 4611686018427387904) = 0
ceiling(-9223372036854775808, -9223372036854775808) = 0, ceiling(-9223372036854775806, -9223372036854775808) = 0, ceiling(9223372036854775806, -9223372036854775808) = 0

unsigned long int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(18446744073709551613, 1) = 18446744073709551613
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(18446744073709551612, 2) = 9223372036854775806
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(18446744073709551610, 4) = 4611686018427387903
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(18446744073709551606, 8) = 2305843009213693951
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(18446744073709551598, 16) = 1152921504606846975
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(18446744073709551582, 32) = 576460752303423487
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(18446744073709551550, 64) = 288230376151711743
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(18446744073709551486, 128) = 144115188075855871
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(18446744073709551358, 256) = 72057594037927935
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(18446744073709551102, 512) = 36028797018963967
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(18446744073709550590, 1024) = 18014398509481983
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(18446744073709549566, 2048) = 9007199254740991
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(18446744073709547518, 4096) = 4503599627370495
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(18446744073709543422, 8192) = 2251799813685247
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(18446744073709535230, 16384) = 1125899906842623
ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(18446744073709518846, 32768) = 562949953421311
ceiling(65536, 65536) = 1, ceiling(65538, 65536) = 2, ceiling(18446744073709486078, 65536) = 281474976710655
ceiling(131072, 131072) = 1, ceiling(131074, 131072) = 2, ceiling(18446744073709420542, 131072) = 140737488355327
ceiling(262144, 262144) = 1, ceiling(262146, 262144) = 2, ceiling(18446744073709289470, 262144) = 70368744177663
ceiling(524288, 524288) = 1, ceiling(524290, 524288) = 2, ceiling(18446744073709027326, 524288) = 35184372088831
ceiling(1048576, 1048576) = 1, ceiling(1048578, 1048576) = 2, ceiling(18446744073708503038, 1048576) = 17592186044415
ceiling(2097152, 2097152) = 1, ceiling(2097154, 2097152) = 2, ceiling(18446744073707454462, 2097152) = 8796093022207
ceiling(4194304, 4194304) = 1, ceiling(4194306, 4194304) = 2, ceiling(18446744073705357310, 4194304) = 4398046511103
ceiling(8388608, 8388608) = 1, ceiling(8388610, 8388608) = 2, ceiling(18446744073701163006, 8388608) = 2199023255551
ceiling(16777216, 16777216) = 1, ceiling(16777218, 16777216) = 2, ceiling(18446744073692774398, 16777216) = 1099511627775
ceiling(33554432, 33554432) = 1, ceiling(33554434, 33554432) = 2, ceiling(18446744073675997182, 33554432) = 549755813887
ceiling(67108864, 67108864) = 1, ceiling(67108866, 67108864) = 2, ceiling(18446744073642442750, 67108864) = 274877906943
ceiling(134217728, 134217728) = 1, ceiling(134217730, 134217728) = 2, ceiling(18446744073575333886, 134217728) = 137438953471
ceiling(268435456, 268435456) = 1, ceiling(268435458, 268435456) = 2, ceiling(18446744073441116158, 268435456) = 68719476735
ceiling(536870912, 536870912) = 1, ceiling(536870914, 536870912) = 2, ceiling(18446744073172680702, 536870912) = 34359738367
ceiling(1073741824, 1073741824) = 1, ceiling(1073741826, 1073741824) = 2, ceiling(18446744072635809790, 1073741824) = 17179869183
ceiling(2147483648, 2147483648) = 1, ceiling(2147483650, 2147483648) = 2, ceiling(18446744071562067966, 2147483648) = 8589934591
ceiling(4294967296, 4294967296) = 1, ceiling(4294967298, 4294967296) = 2, ceiling(18446744069414584318, 4294967296) = 4294967295
ceiling(8589934592, 8589934592) = 1, ceiling(8589934594, 8589934592) = 2, ceiling(18446744065119617022, 8589934592) = 2147483647
ceiling(17179869184, 17179869184) = 1, ceiling(17179869186, 17179869184) = 2, ceiling(18446744056529682430, 17179869184) = 1073741823
ceiling(34359738368, 34359738368) = 1, ceiling(34359738370, 34359738368) = 2, ceiling(18446744039349813246, 34359738368) = 536870911
ceiling(68719476736, 68719476736) = 1, ceiling(68719476738, 68719476736) = 2, ceiling(18446744004990074878, 68719476736) = 268435455
ceiling(137438953472, 137438953472) = 1, ceiling(137438953474, 137438953472) = 2, ceiling(18446743936270598142, 137438953472) = 134217727
ceiling(274877906944, 274877906944) = 1, ceiling(274877906946, 274877906944) = 2, ceiling(18446743798831644670, 274877906944) = 67108863
ceiling(549755813888, 549755813888) = 1, ceiling(549755813890, 549755813888) = 2, ceiling(18446743523953737726, 549755813888) = 33554431
ceiling(1099511627776, 1099511627776) = 1, ceiling(1099511627778, 1099511627776) = 2, ceiling(18446742974197923838, 1099511627776) = 16777215
ceiling(2199023255552, 2199023255552) = 1, ceiling(2199023255554, 2199023255552) = 2, ceiling(18446741874686296062, 2199023255552) = 8388607
ceiling(4398046511104, 4398046511104) = 1, ceiling(4398046511106, 4398046511104) = 2, ceiling(18446739675663040510, 4398046511104) = 4194303
ceiling(8796093022208, 8796093022208) = 1, ceiling(8796093022210, 8796093022208) = 2, ceiling(18446735277616529406, 8796093022208) = 2097151
ceiling(17592186044416, 17592186044416) = 1, ceiling(17592186044418, 17592186044416) = 2, ceiling(18446726481523507198, 17592186044416) = 1048575
ceiling(35184372088832, 35184372088832) = 1, ceiling(35184372088834, 35184372088832) = 2, ceiling(18446708889337462782, 35184372088832) = 524287
ceiling(70368744177664, 70368744177664) = 1, ceiling(70368744177666, 70368744177664) = 2, ceiling(18446673704965373950, 70368744177664) = 262143
ceiling(140737488355328, 140737488355328) = 1, ceiling(140737488355330, 140737488355328) = 2, ceiling(18446603336221196286, 140737488355328) = 131071
ceiling(281474976710656, 281474976710656) = 1, ceiling(281474976710658, 281474976710656) = 2, ceiling(18446462598732840958, 281474976710656) = 65535
ceiling(562949953421312, 562949953421312) = 1, ceiling(562949953421314, 562949953421312) = 2, ceiling(18446181123756130302, 562949953421312) = 32767
ceiling(1125899906842624, 1125899906842624) = 1, ceiling(1125899906842626, 1125899906842624) = 2, ceiling(18445618173802708990, 1125899906842624) = 16383
ceiling(2251799813685248, 2251799813685248) = 1, ceiling(2251799813685250, 2251799813685248) = 2, ceiling(18444492273895866366, 2251799813685248) = 8191
ceiling(4503599627370496, 4503599627370496) = 1, ceiling(4503599627370498, 4503599627370496) = 2, ceiling(18442240474082181118, 4503599627370496) = 4095
ceiling(9007199254740992, 9007199254740992) = 1, ceiling(9007199254740994, 9007199254740992) = 2, ceiling(18437736874454810622, 9007199254740992) = 2047
ceiling(18014398509481984, 18014398509481984) = 1, ceiling(18014398509481986, 18014398509481984) = 2, ceiling(18428729675200069630, 18014398509481984) = 1023
ceiling(36028797018963968, 36028797018963968) = 1, ceiling(36028797018963970, 36028797018963968) = 2, ceiling(18410715276690587646, 36028797018963968) = 511
ceiling(72057594037927936, 72057594037927936) = 1, ceiling(72057594037927938, 72057594037927936) = 2, ceiling(18374686479671623678, 72057594037927936) = 255
ceiling(144115188075855872, 144115188075855872) = 1, ceiling(144115188075855874, 144115188075855872) = 2, ceiling(18302628885633695742, 144115188075855872) = 127
ceiling(288230376151711744, 288230376151711744) = 1, ceiling(288230376151711746, 288230376151711744) = 2, ceiling(18158513697557839870, 288230376151711744) = 63
ceiling(576460752303423488, 576460752303423488) = 1, ceiling(576460752303423490, 576460752303423488) = 2, ceiling(17870283321406128126, 576460752303423488) = 31
ceiling(1152921504606846976, 1152921504606846976) = 1, ceiling(1152921504606846978, 1152921504606846976) = 2, ceiling(17293822569102704638, 1152921504606846976) = 15
ceiling(2305843009213693952, 2305843009213693952) = 1, ceiling(2305843009213693954, 2305843009213693952) = 2, ceiling(16140901064495857662, 2305843009213693952) = 7
ceiling(4611686018427387904, 4611686018427387904) = 1, ceiling(4611686018427387906, 4611686018427387904) = 2, ceiling(13835058055282163710, 4611686018427387904) = 3
ceiling(9223372036854775808, 9223372036854775808) = 1, ceiling(9223372036854775810, 9223372036854775808) = 0, ceiling(9223372036854775806, 9223372036854775808) = 1

long long int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(-4, 2) = -1
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(-6, 4) = 0
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(-10, 8) = 0
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(-18, 16) = 0
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(-34, 32) = 0
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(-66, 64) = 0
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(-130, 128) = 0
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(-258, 256) = 0
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(-514, 512) = 0
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(-1026, 1024) = 0
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(-2050, 2048) = 0
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(-4098, 4096) = 0
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(-8194, 8192) = 0
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(-16386, 16384) = 0
ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(-32770, 32768) = 0
ceiling(65536, 65536) = 1, ceiling(65538, 65536) = 2, ceiling(-65538, 65536) = 0
ceiling(131072, 131072) = 1, ceiling(131074, 131072) = 2, ceiling(-131074, 131072) = 0
ceiling(262144, 262144) = 1, ceiling(262146, 262144) = 2, ceiling(-262146, 262144) = 0
ceiling(524288, 524288) = 1, ceiling(524290, 524288) = 2, ceiling(-524290, 524288) = 0
ceiling(1048576, 1048576) = 1, ceiling(1048578, 1048576) = 2, ceiling(-1048578, 1048576) = 0
ceiling(2097152, 2097152) = 1, ceiling(2097154, 2097152) = 2, ceiling(-2097154, 2097152) = 0
ceiling(4194304, 4194304) = 1, ceiling(4194306, 4194304) = 2, ceiling(-4194306, 4194304) = 0
ceiling(8388608, 8388608) = 1, ceiling(8388610, 8388608) = 2, ceiling(-8388610, 8388608) = 0
ceiling(16777216, 16777216) = 1, ceiling(16777218, 16777216) = 2, ceiling(-16777218, 16777216) = 0
ceiling(33554432, 33554432) = 1, ceiling(33554434, 33554432) = 2, ceiling(-33554434, 33554432) = 0
ceiling(67108864, 67108864) = 1, ceiling(67108866, 67108864) = 2, ceiling(-67108866, 67108864) = 0
ceiling(134217728, 134217728) = 1, ceiling(134217730, 134217728) = 2, ceiling(-134217730, 134217728) = 0
ceiling(268435456, 268435456) = 1, ceiling(268435458, 268435456) = 2, ceiling(-268435458, 268435456) = 0
ceiling(536870912, 536870912) = 1, ceiling(536870914, 536870912) = 2, ceiling(-536870914, 536870912) = 0
ceiling(1073741824, 1073741824) = 1, ceiling(1073741826, 1073741824) = 2, ceiling(-1073741826, 1073741824) = 0
ceiling(2147483648, 2147483648) = 1, ceiling(2147483650, 2147483648) = 2, ceiling(-2147483650, 2147483648) = 0
ceiling(4294967296, 4294967296) = 1, ceiling(4294967298, 4294967296) = 2, ceiling(-4294967298, 4294967296) = 0
ceiling(8589934592, 8589934592) = 1, ceiling(8589934594, 8589934592) = 2, ceiling(-8589934594, 8589934592) = 0
ceiling(17179869184, 17179869184) = 1, ceiling(17179869186, 17179869184) = 2, ceiling(-17179869186, 17179869184) = 0
ceiling(34359738368, 34359738368) = 1, ceiling(34359738370, 34359738368) = 2, ceiling(-34359738370, 34359738368) = 0
ceiling(68719476736, 68719476736) = 1, ceiling(68719476738, 68719476736) = 2, ceiling(-68719476738, 68719476736) = 0
ceiling(137438953472, 137438953472) = 1, ceiling(137438953474, 137438953472) = 2, ceiling(-137438953474, 137438953472) = 0
ceiling(274877906944, 274877906944) = 1, ceiling(274877906946, 274877906944) = 2, ceiling(-274877906946, 274877906944) = 0
ceiling(549755813888, 549755813888) = 1, ceiling(549755813890, 549755813888) = 2, ceiling(-549755813890, 549755813888) = 0
ceiling(1099511627776, 1099511627776) = 1, ceiling(1099511627778, 1099511627776) = 2, ceiling(-1099511627778, 1099511627776) = 0
ceiling(2199023255552, 2199023255552) = 1, ceiling(2199023255554, 2199023255552) = 2, ceiling(-2199023255554, 2199023255552) = 0
ceiling(4398046511104, 4398046511104) = 1, ceiling(4398046511106, 4398046511104) = 2, ceiling(-4398046511106, 4398046511104) = 0
ceiling(8796093022208, 8796093022208) = 1, ceiling(8796093022210, 8796093022208) = 2, ceiling(-8796093022210, 8796093022208) = 0
ceiling(17592186044416, 17592186044416) = 1, ceiling(17592186044418, 17592186044416) = 2, ceiling(-17592186044418, 17592186044416) = 0
ceiling(35184372088832, 35184372088832) = 1, ceiling(35184372088834, 35184372088832) = 2, ceiling(-35184372088834, 35184372088832) = 0
ceiling(70368744177664, 70368744177664) = 1, ceiling(70368744177666, 70368744177664) = 2, ceiling(-70368744177666, 70368744177664) = 0
ceiling(140737488355328, 140737488355328) = 1, ceiling(140737488355330, 140737488355328) = 2, ceiling(-140737488355330, 140737488355328) = 0
ceiling(281474976710656, 281474976710656) = 1, ceiling(281474976710658, 281474976710656) = 2, ceiling(-281474976710658, 281474976710656) = 0
ceiling(562949953421312, 562949953421312) = 1, ceiling(562949953421314, 562949953421312) = 2, ceiling(-562949953421314, 562949953421312) = 0
ceiling(1125899906842624, 1125899906842624) = 1, ceiling(1125899906842626, 1125899906842624) = 2, ceiling(-1125899906842626, 1125899906842624) = 0
ceiling(2251799813685248, 2251799813685248) = 1, ceiling(2251799813685250, 2251799813685248) = 2, ceiling(-2251799813685250, 2251799813685248) = 0
ceiling(4503599627370496, 4503599627370496) = 1, ceiling(4503599627370498, 4503599627370496) = 2, ceiling(-4503599627370498, 4503599627370496) = 0
ceiling(9007199254740992, 9007199254740992) = 1, ceiling(9007199254740994, 9007199254740992) = 2, ceiling(-9007199254740994, 9007199254740992) = 0
ceiling(18014398509481984, 18014398509481984) = 1, ceiling(18014398509481986, 18014398509481984) = 2, ceiling(-18014398509481986, 18014398509481984) = 0
ceiling(36028797018963968, 36028797018963968) = 1, ceiling(36028797018963970, 36028797018963968) = 2, ceiling(-36028797018963970, 36028797018963968) = 0
ceiling(72057594037927936, 72057594037927936) = 1, ceiling(72057594037927938, 72057594037927936) = 2, ceiling(-72057594037927938, 72057594037927936) = 0
ceiling(144115188075855872, 144115188075855872) = 1, ceiling(144115188075855874, 144115188075855872) = 2, ceiling(-144115188075855874, 144115188075855872) = 0
ceiling(288230376151711744, 288230376151711744) = 1, ceiling(288230376151711746, 288230376151711744) = 2, ceiling(-288230376151711746, 288230376151711744) = 0
ceiling(576460752303423488, 576460752303423488) = 1, ceiling(576460752303423490, 576460752303423488) = 2, ceiling(-576460752303423490, 576460752303423488) = 0
ceiling(1152921504606846976, 1152921504606846976) = 1, ceiling(1152921504606846978, 1152921504606846976) = 2, ceiling(-1152921504606846978, 1152921504606846976) = 0
ceiling(2305843009213693952, 2305843009213693952) = 1, ceiling(2305843009213693954, 2305843009213693952) = 2, ceiling(-2305843009213693954, 2305843009213693952) = 0
ceiling(4611686018427387904, 4611686018427387904) = 1, ceiling(4611686018427387906, 4611686018427387904) = -1, ceiling(-4611686018427387906, 4611686018427387904) = 0
ceiling(-9223372036854775808, -9223372036854775808) = 0, ceiling(-9223372036854775806, -9223372036854775808) = 0, ceiling(9223372036854775806, -9223372036854775808) = 0

unsigned long long int
ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(18446744073709551613, 1) = 18446744073709551613
ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(18446744073709551612, 2) = 9223372036854775806
ceiling(4, 4) = 1, ceiling(6, 4) = 2, ceiling(18446744073709551610, 4) = 4611686018427387903
ceiling(8, 8) = 1, ceiling(10, 8) = 2, ceiling(18446744073709551606, 8) = 2305843009213693951
ceiling(16, 16) = 1, ceiling(18, 16) = 2, ceiling(18446744073709551598, 16) = 1152921504606846975
ceiling(32, 32) = 1, ceiling(34, 32) = 2, ceiling(18446744073709551582, 32) = 576460752303423487
ceiling(64, 64) = 1, ceiling(66, 64) = 2, ceiling(18446744073709551550, 64) = 288230376151711743
ceiling(128, 128) = 1, ceiling(130, 128) = 2, ceiling(18446744073709551486, 128) = 144115188075855871
ceiling(256, 256) = 1, ceiling(258, 256) = 2, ceiling(18446744073709551358, 256) = 72057594037927935
ceiling(512, 512) = 1, ceiling(514, 512) = 2, ceiling(18446744073709551102, 512) = 36028797018963967
ceiling(1024, 1024) = 1, ceiling(1026, 1024) = 2, ceiling(18446744073709550590, 1024) = 18014398509481983
ceiling(2048, 2048) = 1, ceiling(2050, 2048) = 2, ceiling(18446744073709549566, 2048) = 9007199254740991
ceiling(4096, 4096) = 1, ceiling(4098, 4096) = 2, ceiling(18446744073709547518, 4096) = 4503599627370495
ceiling(8192, 8192) = 1, ceiling(8194, 8192) = 2, ceiling(18446744073709543422, 8192) = 2251799813685247
ceiling(16384, 16384) = 1, ceiling(16386, 16384) = 2, ceiling(18446744073709535230, 16384) = 1125899906842623
ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(18446744073709518846, 32768) = 562949953421311
ceiling(65536, 65536) = 1, ceiling(65538, 65536) = 2, ceiling(18446744073709486078, 65536) = 281474976710655
ceiling(131072, 131072) = 1, ceiling(131074, 131072) = 2, ceiling(18446744073709420542, 131072) = 140737488355327
ceiling(262144, 262144) = 1, ceiling(262146, 262144) = 2, ceiling(18446744073709289470, 262144) = 70368744177663
ceiling(524288, 524288) = 1, ceiling(524290, 524288) = 2, ceiling(18446744073709027326, 524288) = 35184372088831
ceiling(1048576, 1048576) = 1, ceiling(1048578, 1048576) = 2, ceiling(18446744073708503038, 1048576) = 17592186044415
ceiling(2097152, 2097152) = 1, ceiling(2097154, 2097152) = 2, ceiling(18446744073707454462, 2097152) = 8796093022207
ceiling(4194304, 4194304) = 1, ceiling(4194306, 4194304) = 2, ceiling(18446744073705357310, 4194304) = 4398046511103
ceiling(8388608, 8388608) = 1, ceiling(8388610, 8388608) = 2, ceiling(18446744073701163006, 8388608) = 2199023255551
ceiling(16777216, 16777216) = 1, ceiling(16777218, 16777216) = 2, ceiling(18446744073692774398, 16777216) = 1099511627775
ceiling(33554432, 33554432) = 1, ceiling(33554434, 33554432) = 2, ceiling(18446744073675997182, 33554432) = 549755813887
ceiling(67108864, 67108864) = 1, ceiling(67108866, 67108864) = 2, ceiling(18446744073642442750, 67108864) = 274877906943
ceiling(134217728, 134217728) = 1, ceiling(134217730, 134217728) = 2, ceiling(18446744073575333886, 134217728) = 137438953471
ceiling(268435456, 268435456) = 1, ceiling(268435458, 268435456) = 2, ceiling(18446744073441116158, 268435456) = 68719476735
ceiling(536870912, 536870912) = 1, ceiling(536870914, 536870912) = 2, ceiling(18446744073172680702, 536870912) = 34359738367
ceiling(1073741824, 1073741824) = 1, ceiling(1073741826, 1073741824) = 2, ceiling(18446744072635809790, 1073741824) = 17179869183
ceiling(2147483648, 2147483648) = 1, ceiling(2147483650, 2147483648) = 2, ceiling(18446744071562067966, 2147483648) = 8589934591
ceiling(4294967296, 4294967296) = 1, ceiling(4294967298, 4294967296) = 2, ceiling(18446744069414584318, 4294967296) = 4294967295
ceiling(8589934592, 8589934592) = 1, ceiling(8589934594, 8589934592) = 2, ceiling(18446744065119617022, 8589934592) = 2147483647
ceiling(17179869184, 17179869184) = 1, ceiling(17179869186, 17179869184) = 2, ceiling(18446744056529682430, 17179869184) = 1073741823
ceiling(34359738368, 34359738368) = 1, ceiling(34359738370, 34359738368) = 2, ceiling(18446744039349813246, 34359738368) = 536870911
ceiling(68719476736, 68719476736) = 1, ceiling(68719476738, 68719476736) = 2, ceiling(18446744004990074878, 68719476736) = 268435455
ceiling(137438953472, 137438953472) = 1, ceiling(137438953474, 137438953472) = 2, ceiling(18446743936270598142, 137438953472) = 134217727
ceiling(274877906944, 274877906944) = 1, ceiling(274877906946, 274877906944) = 2, ceiling(18446743798831644670, 274877906944) = 67108863
ceiling(549755813888, 549755813888) = 1, ceiling(549755813890, 549755813888) = 2, ceiling(18446743523953737726, 549755813888) = 33554431
ceiling(1099511627776, 1099511627776) = 1, ceiling(1099511627778, 1099511627776) = 2, ceiling(18446742974197923838, 1099511627776) = 16777215
ceiling(2199023255552, 2199023255552) = 1, ceiling(2199023255554, 2199023255552) = 2, ceiling(18446741874686296062, 2199023255552) = 8388607
ceiling(4398046511104, 4398046511104) = 1, ceiling(4398046511106, 4398046511104) = 2, ceiling(18446739675663040510, 4398046511104) = 4194303
ceiling(8796093022208, 8796093022208) = 1, ceiling(8796093022210, 8796093022208) = 2, ceiling(18446735277616529406, 8796093022208) = 2097151
ceiling(17592186044416, 17592186044416) = 1, ceiling(17592186044418, 17592186044416) = 2, ceiling(18446726481523507198, 17592186044416) = 1048575
ceiling(35184372088832, 35184372088832) = 1, ceiling(35184372088834, 35184372088832) = 2, ceiling(18446708889337462782, 35184372088832) = 524287
ceiling(70368744177664, 70368744177664) = 1, ceiling(70368744177666, 70368744177664) = 2, ceiling(18446673704965373950, 70368744177664) = 262143
ceiling(140737488355328, 140737488355328) = 1, ceiling(140737488355330, 140737488355328) = 2, ceiling(18446603336221196286, 140737488355328) = 131071
ceiling(281474976710656, 281474976710656) = 1, ceiling(281474976710658, 281474976710656) = 2, ceiling(18446462598732840958, 281474976710656) = 65535
ceiling(562949953421312, 562949953421312) = 1, ceiling(562949953421314, 562949953421312) = 2, ceiling(18446181123756130302, 562949953421312) = 32767
ceiling(1125899906842624, 1125899906842624) = 1, ceiling(1125899906842626, 1125899906842624) = 2, ceiling(18445618173802708990, 1125899906842624) = 16383
ceiling(2251799813685248, 2251799813685248) = 1, ceiling(2251799813685250, 2251799813685248) = 2, ceiling(18444492273895866366, 2251799813685248) = 8191
ceiling(4503599627370496, 4503599627370496) = 1, ceiling(4503599627370498, 4503599627370496) = 2, ceiling(18442240474082181118, 4503599627370496) = 4095
ceiling(9007199254740992, 9007199254740992) = 1, ceiling(9007199254740994, 9007199254740992) = 2, ceiling(18437736874454810622, 9007199254740992) = 2047
ceiling(18014398509481984, 18014398509481984) = 1, ceiling(18014398509481986, 18014398509481984) = 2, ceiling(18428729675200069630, 18014398509481984) = 1023
ceiling(36028797018963968, 36028797018963968) = 1, ceiling(36028797018963970, 36028797018963968) = 2, ceiling(18410715276690587646, 36028797018963968) = 511
ceiling(72057594037927936, 72057594037927936) = 1, ceiling(72057594037927938, 72057594037927936) = 2, ceiling(18374686479671623678, 72057594037927936) = 255
ceiling(144115188075855872, 144115188075855872) = 1, ceiling(144115188075855874, 144115188075855872) = 2, ceiling(18302628885633695742, 144115188075855872) = 127
ceiling(288230376151711744, 288230376151711744) = 1, ceiling(288230376151711746, 288230376151711744) = 2, ceiling(18158513697557839870, 288230376151711744) = 63
ceiling(576460752303423488, 576460752303423488) = 1, ceiling(576460752303423490, 576460752303423488) = 2, ceiling(17870283321406128126, 576460752303423488) = 31
ceiling(1152921504606846976, 1152921504606846976) = 1, ceiling(1152921504606846978, 1152921504606846976) = 2, ceiling(17293822569102704638, 1152921504606846976) = 15
ceiling(2305843009213693952, 2305843009213693952) = 1, ceiling(2305843009213693954, 2305843009213693952) = 2, ceiling(16140901064495857662, 2305843009213693952) = 7
ceiling(4611686018427387904, 4611686018427387904) = 1, ceiling(4611686018427387906, 4611686018427387904) = 2, ceiling(13835058055282163710, 4611686018427387904) = 3
ceiling(9223372036854775808, 9223372036854775808) = 1, ceiling(9223372036854775810, 9223372036854775808) = 0, ceiling(9223372036854775806, 9223372036854775808) = 1

