Index: tests/.expect/bitmanip3.x64.txt
===================================================================
--- tests/.expect/bitmanip3.x64.txt	(revision da36d25fb1a2f474bae010c7465231546031fa03)
+++ tests/.expect/bitmanip3.x64.txt	(revision 21923bd69beadddd764dbbb5886c599246dec848)
@@ -427,20 +427,20 @@
 short int
 floor(0, 0) = 0, floor(2, 0) = 0, floor(-2, 0) = 0
-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) = -8
-floor(8 8) = 8, floor(10 8) = 8, floor(-10 8) = -16
-floor(16 16) = 16, floor(18 16) = 16, floor(-18 16) = -32
-floor(32 32) = 32, floor(34 32) = 32, floor(-34 32) = -64
-floor(64 64) = 64, floor(66 64) = 64, floor(-66 64) = -128
-floor(128 128) = 128, floor(130 128) = 128, floor(-130 128) = -256
-floor(256 256) = 256, floor(258 256) = 256, floor(-258 256) = -512
-floor(512 512) = 512, floor(514 512) = 512, floor(-514 512) = -1024
-floor(1024 1024) = 1024, floor(1026 1024) = 1024, floor(-1026 1024) = -2048
-floor(2048 2048) = 2048, floor(2050 2048) = 2048, floor(-2050 2048) = -4096
-floor(4096 4096) = 4096, floor(4098 4096) = 4096, floor(-4098 4096) = -8192
-floor(8192 8192) = 8192, floor(8194 8192) = 8192, floor(-8194 8192) = -16384
-floor(16384 16384) = 16384, floor(16386 16384) = 16384, floor(-16386 16384) = -32768
-floor(-32768 -32768) = -32768, floor(-32766 -32768) = -32768, floor(32766 -32768) = 0
+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) = -8
+floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -16
+floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -32
+floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -64
+floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -128
+floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -256
+floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -512
+floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -1024
+floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -2048
+floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -4096
+floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -8192
+floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -16384
+floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -32768
+floor(-32768, -32768) = -32768, floor(-32766, -32768) = -32768, floor(32766, -32768) = 0
 
 unsigned short int
@@ -668,69 +668,69 @@
 
 long long int
-floor(0 0) = 0, floor(2 0) = 0, floor(-2 0) = 0
-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) = -8
-floor(8 8) = 8, floor(10 8) = 8, floor(-10 8) = -16
-floor(16 16) = 16, floor(18 16) = 16, floor(-18 16) = -32
-floor(32 32) = 32, floor(34 32) = 32, floor(-34 32) = -64
-floor(64 64) = 64, floor(66 64) = 64, floor(-66 64) = -128
-floor(128 128) = 128, floor(130 128) = 128, floor(-130 128) = -256
-floor(256 256) = 256, floor(258 256) = 256, floor(-258 256) = -512
-floor(512 512) = 512, floor(514 512) = 512, floor(-514 512) = -1024
-floor(1024 1024) = 1024, floor(1026 1024) = 1024, floor(-1026 1024) = -2048
-floor(2048 2048) = 2048, floor(2050 2048) = 2048, floor(-2050 2048) = -4096
-floor(4096 4096) = 4096, floor(4098 4096) = 4096, floor(-4098 4096) = -8192
-floor(8192 8192) = 8192, floor(8194 8192) = 8192, floor(-8194 8192) = -16384
-floor(16384 16384) = 16384, floor(16386 16384) = 16384, floor(-16386 16384) = -32768
-floor(32768 32768) = 32768, floor(32770 32768) = 32768, floor(-32770 32768) = -65536
-floor(65536 65536) = 65536, floor(65538 65536) = 65536, floor(-65538 65536) = -131072
-floor(131072 131072) = 131072, floor(131074 131072) = 131072, floor(-131074 131072) = -262144
-floor(262144 262144) = 262144, floor(262146 262144) = 262144, floor(-262146 262144) = -524288
-floor(524288 524288) = 524288, floor(524290 524288) = 524288, floor(-524290 524288) = -1048576
-floor(1048576 1048576) = 1048576, floor(1048578 1048576) = 1048576, floor(-1048578 1048576) = -2097152
-floor(2097152 2097152) = 2097152, floor(2097154 2097152) = 2097152, floor(-2097154 2097152) = -4194304
-floor(4194304 4194304) = 4194304, floor(4194306 4194304) = 4194304, floor(-4194306 4194304) = -8388608
-floor(8388608 8388608) = 8388608, floor(8388610 8388608) = 8388608, floor(-8388610 8388608) = -16777216
-floor(16777216 16777216) = 16777216, floor(16777218 16777216) = 16777216, floor(-16777218 16777216) = -33554432
-floor(33554432 33554432) = 33554432, floor(33554434 33554432) = 33554432, floor(-33554434 33554432) = -67108864
-floor(67108864 67108864) = 67108864, floor(67108866 67108864) = 67108864, floor(-67108866 67108864) = -134217728
-floor(134217728 134217728) = 134217728, floor(134217730 134217728) = 134217728, floor(-134217730 134217728) = -268435456
-floor(268435456 268435456) = 268435456, floor(268435458 268435456) = 268435456, floor(-268435458 268435456) = -536870912
-floor(536870912 536870912) = 536870912, floor(536870914 536870912) = 536870912, floor(-536870914 536870912) = -1073741824
-floor(1073741824 1073741824) = 1073741824, floor(1073741826 1073741824) = 1073741824, floor(-1073741826 1073741824) = -2147483648
-floor(2147483648 2147483648) = 2147483648, floor(2147483650 2147483648) = 2147483648, floor(-2147483650 2147483648) = -4294967296
-floor(4294967296 4294967296) = 4294967296, floor(4294967298 4294967296) = 4294967296, floor(-4294967298 4294967296) = -8589934592
-floor(8589934592 8589934592) = 8589934592, floor(8589934594 8589934592) = 8589934592, floor(-8589934594 8589934592) = -17179869184
-floor(17179869184 17179869184) = 17179869184, floor(17179869186 17179869184) = 17179869184, floor(-17179869186 17179869184) = -34359738368
-floor(34359738368 34359738368) = 34359738368, floor(34359738370 34359738368) = 34359738368, floor(-34359738370 34359738368) = -68719476736
-floor(68719476736 68719476736) = 68719476736, floor(68719476738 68719476736) = 68719476736, floor(-68719476738 68719476736) = -137438953472
-floor(137438953472 137438953472) = 137438953472, floor(137438953474 137438953472) = 137438953472, floor(-137438953474 137438953472) = -274877906944
-floor(274877906944 274877906944) = 274877906944, floor(274877906946 274877906944) = 274877906944, floor(-274877906946 274877906944) = -549755813888
-floor(549755813888 549755813888) = 549755813888, floor(549755813890 549755813888) = 549755813888, floor(-549755813890 549755813888) = -1099511627776
-floor(1099511627776 1099511627776) = 1099511627776, floor(1099511627778 1099511627776) = 1099511627776, floor(-1099511627778 1099511627776) = -2199023255552
-floor(2199023255552 2199023255552) = 2199023255552, floor(2199023255554 2199023255552) = 2199023255552, floor(-2199023255554 2199023255552) = -4398046511104
-floor(4398046511104 4398046511104) = 4398046511104, floor(4398046511106 4398046511104) = 4398046511104, floor(-4398046511106 4398046511104) = -8796093022208
-floor(8796093022208 8796093022208) = 8796093022208, floor(8796093022210 8796093022208) = 8796093022208, floor(-8796093022210 8796093022208) = -17592186044416
-floor(17592186044416 17592186044416) = 17592186044416, floor(17592186044418 17592186044416) = 17592186044416, floor(-17592186044418 17592186044416) = -35184372088832
-floor(35184372088832 35184372088832) = 35184372088832, floor(35184372088834 35184372088832) = 35184372088832, floor(-35184372088834 35184372088832) = -70368744177664
-floor(70368744177664 70368744177664) = 70368744177664, floor(70368744177666 70368744177664) = 70368744177664, floor(-70368744177666 70368744177664) = -140737488355328
-floor(140737488355328 140737488355328) = 140737488355328, floor(140737488355330 140737488355328) = 140737488355328, floor(-140737488355330 140737488355328) = -281474976710656
-floor(281474976710656 281474976710656) = 281474976710656, floor(281474976710658 281474976710656) = 281474976710656, floor(-281474976710658 281474976710656) = -562949953421312
-floor(562949953421312 562949953421312) = 562949953421312, floor(562949953421314 562949953421312) = 562949953421312, floor(-562949953421314 562949953421312) = -1125899906842624
-floor(1125899906842624 1125899906842624) = 1125899906842624, floor(1125899906842626 1125899906842624) = 1125899906842624, floor(-1125899906842626 1125899906842624) = -2251799813685248
-floor(2251799813685248 2251799813685248) = 2251799813685248, floor(2251799813685250 2251799813685248) = 2251799813685248, floor(-2251799813685250 2251799813685248) = -4503599627370496
-floor(4503599627370496 4503599627370496) = 4503599627370496, floor(4503599627370498 4503599627370496) = 4503599627370496, floor(-4503599627370498 4503599627370496) = -9007199254740992
-floor(9007199254740992 9007199254740992) = 9007199254740992, floor(9007199254740994 9007199254740992) = 9007199254740992, floor(-9007199254740994 9007199254740992) = -18014398509481984
-floor(18014398509481984 18014398509481984) = 18014398509481984, floor(18014398509481986 18014398509481984) = 18014398509481984, floor(-18014398509481986 18014398509481984) = -36028797018963968
-floor(36028797018963968 36028797018963968) = 36028797018963968, floor(36028797018963970 36028797018963968) = 36028797018963968, floor(-36028797018963970 36028797018963968) = -72057594037927936
-floor(72057594037927936 72057594037927936) = 72057594037927936, floor(72057594037927938 72057594037927936) = 72057594037927936, floor(-72057594037927938 72057594037927936) = -144115188075855872
-floor(144115188075855872 144115188075855872) = 144115188075855872, floor(144115188075855874 144115188075855872) = 144115188075855872, floor(-144115188075855874 144115188075855872) = -288230376151711744
-floor(288230376151711744 288230376151711744) = 288230376151711744, floor(288230376151711746 288230376151711744) = 288230376151711744, floor(-288230376151711746 288230376151711744) = -576460752303423488
-floor(576460752303423488 576460752303423488) = 576460752303423488, floor(576460752303423490 576460752303423488) = 576460752303423488, floor(-576460752303423490 576460752303423488) = -1152921504606846976
-floor(1152921504606846976 1152921504606846976) = 1152921504606846976, floor(1152921504606846978 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978 1152921504606846976) = -2305843009213693952
-floor(2305843009213693952 2305843009213693952) = 2305843009213693952, floor(2305843009213693954 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954 2305843009213693952) = -4611686018427387904
-floor(4611686018427387904 4611686018427387904) = 4611686018427387904, floor(4611686018427387906 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906 4611686018427387904) = -9223372036854775808
-floor(-9223372036854775808 -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806 -9223372036854775808) = -9223372036854775808, floor(9223372036854775806 -9223372036854775808) = 0
+floor(0, 0) = 0, floor(2, 0) = 0, floor(-2, 0) = 0
+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) = -8
+floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -16
+floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -32
+floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -64
+floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -128
+floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -256
+floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -512
+floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -1024
+floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -2048
+floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -4096
+floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -8192
+floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -16384
+floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -32768
+floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -65536
+floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -131072
+floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -262144
+floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -524288
+floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -1048576
+floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -2097152
+floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -4194304
+floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -8388608
+floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -16777216
+floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -33554432
+floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -67108864
+floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -134217728
+floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -268435456
+floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -536870912
+floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -1073741824
+floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -2147483648
+floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -4294967296
+floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -8589934592
+floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -17179869184
+floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -34359738368
+floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -68719476736
+floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -137438953472
+floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -274877906944
+floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -549755813888
+floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -1099511627776
+floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -2199023255552
+floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -4398046511104
+floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -8796093022208
+floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -17592186044416
+floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -35184372088832
+floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -70368744177664
+floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -140737488355328
+floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -281474976710656
+floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -562949953421312
+floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -1125899906842624
+floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -2251799813685248
+floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -4503599627370496
+floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -9007199254740992
+floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -18014398509481984
+floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -36028797018963968
+floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -72057594037927936
+floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -144115188075855872
+floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -288230376151711744
+floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -576460752303423488
+floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -1152921504606846976
+floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -2305843009213693952
+floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -4611686018427387904
+floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -9223372036854775808
+floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = -9223372036854775808, floor(9223372036854775806, -9223372036854775808) = 0
 
 unsigned long long int
@@ -825,20 +825,20 @@
 
 short int
-floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = 65533
-floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = 65532
-floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = 65532
-floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = 65528
-floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = 65520
-floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = 65504
-floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = 65472
-floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = 65408
-floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = 65280
-floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = 65024
-floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = 64512
-floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = 63488
-floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = 61440
-floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = 57344
-floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = 49152
-floor(-32768, -32768) = 32768, floor(-32766, -32768) = 0, floor(32766, -32768) = 0
+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
@@ -1603,6 +1603,6 @@
 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) = -1, ceiling(-66, 64) = 0
-ceiling(-128, -128) = 0, ceiling(-126, -128) = 0, ceiling(126, -128) = 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
@@ -1614,9 +1614,9 @@
 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) = 0, ceiling(126, 128) = 1
+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) = 65533
-ceiling(2, 2) = 1, ceiling(4, 2) = 2, ceiling(-4, 2) = 65535
+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
@@ -1631,6 +1631,6 @@
 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) = 65535, ceiling(-16386, 16384) = 0
-ceiling(-32768, -32768) = 0, ceiling(-32766, -32768) = 0, ceiling(32766, -32768) = 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
@@ -1650,5 +1650,5 @@
 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) = 0, ceiling(32766, 32768) = 1
+ceiling(32768, 32768) = 1, ceiling(32770, 32768) = 2, ceiling(32766, 32768) = 1
 
 int
