Index: libcfa/src/bitmanip.hfa
===================================================================
--- libcfa/src/bitmanip.hfa	(revision 4ea5308747650fef9396951da9c85d31a39b4b9c)
+++ libcfa/src/bitmanip.hfa	(revision 21923bd69beadddd764dbbb5886c599246dec848)
@@ -11,6 +11,6 @@
 // Created On       : Sat Mar 14 18:12:27 2020
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Apr 13 22:37:03 2020
-// Update Count     : 110
+// Last Modified On : Wed Apr 15 10:51:01 2020
+// Update Count     : 119
 // 
 
@@ -88,27 +88,60 @@
 
     // Returns n aligned at the floor of align, clear bits above or equal to align, giving n % align.
-    // signed char floor2( signed char n, signed char align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // unsigned char floor2( unsigned char n, unsigned char align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // short int floor2( short int n, unsigned short int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // unsigned short int floor2( unsigned short int n, unsigned short int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // int floor2( int n, unsigned int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // unsigned int floor2( unsigned int n, unsigned int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // long int floor2( long int n, unsigned long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // unsigned long int floor2( unsigned long int n, unsigned long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-	// long long int floor2( long long int n, unsigned long long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
-    // unsigned long long int floor2( unsigned long long int n, unsigned long long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    signed char floor2( signed char n, char align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    unsigned char floor2( unsigned char n, unsigned char align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    short int floor2( short int n, short int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    unsigned short int floor2( unsigned short int n, unsigned short int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    int floor2( int n, int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    unsigned int floor2( unsigned int n, unsigned int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    long int floor2( long int n, long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    unsigned long int floor2( unsigned long int n, unsigned long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+	long long int floor2( long long int n, long long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
+    unsigned long long int floor2( unsigned long long int n, unsigned long long int align ) { /*assert( is_pow2( align ) );*/ return n & -align; }
 
-	forall( otype T | { T ?&?( T, T ); T -?( T ); } )
-	T floor2( T n, T align ) { /* assert( is_pow2( align ) ); */ return n & -align; }
+	// forall( otype T | { T ?&?( T, T ); T -?( T ); } )
+	// T floor2( T n, T align ) { /* assert( is_pow2( align ) ); */ return n & -align; }
 
-	forall( otype T | { T ?/?( T, T ); T ?*?( T, T ); } )
-	T floor( T n, T align ) { return n / align * align; }
+    signed char floor( signed char n, char align ) { return n / align * align; }
+    unsigned char floor( unsigned char n, unsigned char align ) { return n / align * align; }
+    short int floor( short int n, short int align ) { return n / align * align; }
+    unsigned short int floor( unsigned short int n, unsigned short int align ) { return n / align * align; }
+    int floor( int n, int align ) { return n / align * align; }
+    unsigned int floor( unsigned int n, unsigned int align ) { return n / align * align; }
+    long int floor( long int n, long int align ) { return n / align * align; }
+    unsigned long int floor( unsigned long int n, unsigned long int align ) { return n / align * align; }
+	long long int floor( long long int n, long long int align ) { return n / align * align; }
+    unsigned long long int floor( unsigned long long int n, unsigned long long int align ) { return n / align * align; }
+
+	// forall( otype T | { T ?/?( T, T ); T ?*?( T, T ); } )
+	// T floor( T n, T align ) { return n / align * align; }
 
     // Returns n aligned at the ceiling of align, negate, round down, negate is the same as round up.
-	forall( otype T | { T floor2( T, T ); T -?( T ); } )
-	T ceiling2( T n, T align ) { /* assert( is_pow2( align ) ); */ return -floor2( -n, align ); }
+    signed char ceiling2( signed char n, char align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    unsigned char ceiling2( unsigned char n, unsigned char align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    short int ceiling2( short int n, short int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    unsigned short int ceiling2( unsigned short int n, unsigned short int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    int ceiling2( int n, int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    unsigned int ceiling2( unsigned int n, unsigned int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    long int ceiling2( long int n, long int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    unsigned long int ceiling2( unsigned long int n, unsigned long int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+	long long int ceiling2( long long int n, long long int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
+    unsigned long long int ceiling2( unsigned long long int n, unsigned long long int align ) { /*assert( is_pow2( align ) );*/ return -floor2( -n, align ); }
 
-	forall( otype T | { void ?{}( T &, one_t ); T ?+?( T, T ); T ?-?( T, T ); T ?/?( T, T ); } )
-	T ceiling( T n, T align ) { return (n + (align - (T){1})) / align; }
+	// forall( otype T | { T floor2( T, T ); T -?( T ); } )
+	// T ceiling2( T n, T align ) { /* assert( is_pow2( align ) ); */ return -floor2( -n, align ); }
+
+	signed char ceiling( signed char n, char align ) { return (n + (align - 1)) / align; }
+    unsigned char ceiling( unsigned char n, unsigned char align ) { return (n + (align - 1)) / align; }
+    short int ceiling( short int n, short int align ) { return (n + (align - 1)) / align; }
+    unsigned short int ceiling( unsigned short int n, unsigned short int align ) { return (n + (align - 1)) / align; }
+    int ceiling( int n, int align ) { return (n + (align - 1)) / align; }
+    unsigned int ceiling( unsigned int n, unsigned int align ) { return (n + (align - 1)) / align; }
+    long int ceiling( long int n, long int align ) { return (n + (align - 1)) / align; }
+    unsigned long int ceiling( unsigned long int n, unsigned long int align ) { return (n + (align - 1)) / align; }
+	long long int ceiling( long long int n, long long int align ) { return (n + (align - 1)) / align; }
+    unsigned long long int ceiling( unsigned long long int n, unsigned long long int align ) { return (n + (align - 1)) / align; }
+
+	// forall( otype T | { void ?{}( T &, one_t ); T ?+?( T, T ); T ?-?( T, T ); T ?/?( T, T ); } )
+	// T ceiling( T n, T align ) { return (n + (align - (T){1})) / align; }
 } // distribution
 
Index: tests/.expect/bitmanip3.x64.txt
===================================================================
--- tests/.expect/bitmanip3.x64.txt	(revision 4ea5308747650fef9396951da9c85d31a39b4b9c)
+++ 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
Index: tests/bitmanip3.cfa
===================================================================
--- tests/bitmanip3.cfa	(revision 4ea5308747650fef9396951da9c85d31a39b4b9c)
+++ tests/bitmanip3.cfa	(revision 21923bd69beadddd764dbbb5886c599246dec848)
@@ -10,6 +10,6 @@
 // Created On       : Tue Apr  7 21:22:59 2020
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Apr 14 10:52:36 2020
-// Update Count     : 42
+// Last Modified On : Tue Apr 14 23:07:15 2020
+// Update Count     : 57
 // 
 
@@ -18,14 +18,15 @@
 
 int main() {
-	signed char sc;
-	unsigned char usc;
-	short int si;
-	unsigned short int usi;
-	int i;
-	unsigned int ui;
-	long int li;
-	unsigned long int uli;
-	long long int lli;
-	unsigned long long int ulli;
+	bool b1, b2;
+	signed char sc, scr1, scr2, scr3;
+	unsigned char uc, ucr1, ucr2, ucr3;
+	short int si, sir1, sir2, sir3;
+	unsigned short int usi, usir1, usir2, usir3;
+	int i, ir1, ir2, ir3;
+	unsigned int ui, uir1, uir2, uir3;
+	long int li, lir1, lir2, lir3;
+	unsigned long int uli, ulir1, ulir2, ulir3;
+	long long int lli, llir1, llir2, llir3;
+	unsigned long long int ulli, ullir1, ullir2, ullir3;
 
 	//============================================================
@@ -35,14 +36,18 @@
 	sout | "signed char";
 	sc = 0;
-	sout | wd(__bitsizeof(sc)+2, pad0(bin(sc))) | is_pow2( sc ) | wd(__bitsizeof(sc)+2, pad0(bin(sc + 13hh))) | is_pow2( sc + 13hh );
+	b1 = is_pow2( sc ), b2 = is_pow2( sc + 13hh );
+	sout | wd(__bitsizeof(sc)+2, pad0(bin(sc))) | b1 | wd(__bitsizeof(sc)+2, pad0(bin(sc + 13hh))) | b2;
 	for ( sc = 1; sc != 0; sc <<= 1 ) {
-		sout | wd(__bitsizeof(sc)+2, pad0(bin(sc))) | is_pow2( sc ) | wd(__bitsizeof(sc)+2, pad0(bin(sc + 13hh))) | is_pow2( sc + 13hh );
+		b1 = is_pow2( sc ), b2 = is_pow2( sc + 13hh );
+		sout | wd(__bitsizeof(sc)+2, pad0(bin(sc))) | b1 | wd(__bitsizeof(sc)+2, pad0(bin(sc + 13hh))) | b2;
 	} // for
 	sout | nl;
 	sout | "unsigned char";
-	usc = 0;
-	sout | wd(__bitsizeof(usc)+2, pad0(bin(usc))) | is_pow2( usc ) | wd(__bitsizeof(usc)+2, pad0(bin(usc + 13hh))) | is_pow2( usc + 13hh );
-	for ( usc = 1; usc != 0; usc <<= 1 ) {
-		sout | wd(__bitsizeof(usc)+2, pad0(bin(usc))) | is_pow2( usc ) | wd(__bitsizeof(usc)+2, pad0(bin(usc + 13hh))) | is_pow2( usc + 13hh );
+	uc = 0;
+	b1 = is_pow2( uc ), b2 = is_pow2( uc + 13hh );
+	sout | wd(__bitsizeof(uc)+2, pad0(bin(uc))) | b1 | wd(__bitsizeof(uc)+2, pad0(bin(uc + 13hh))) | b2;
+	for ( uc = 1; uc != 0; uc <<= 1 ) {
+		b1 = is_pow2( uc ), b2 = is_pow2( uc + 13hh );
+		sout | wd(__bitsizeof(uc)+2, pad0(bin(uc))) | b1 | wd(__bitsizeof(uc)+2, pad0(bin(uc + 13hh))) | b2;
 	} // for
 	sout | nl;
@@ -50,14 +55,18 @@
 	sout | "short int";
 	si = 0;
-	sout | wd(__bitsizeof(si)+2, pad0(bin(si))) | is_pow2( si ) | wd(__bitsizeof(si)+2, pad0(bin(si + 13h))) | is_pow2( si + 13h );
+	b1 = is_pow2( si ), b2 = is_pow2( si + 13hh );
+	sout | wd(__bitsizeof(si)+2, pad0(bin(si))) | b1 | wd(__bitsizeof(si)+2, pad0(bin(si + 13h))) | b2;
 	for ( si = 1; si != 0; si <<= 1 ) {
-		sout | wd(__bitsizeof(si)+2, pad0(bin(si))) | is_pow2( si ) | wd(__bitsizeof(si)+2, pad0(bin(si + 13h))) | is_pow2( si + 13h );
+		b1 = is_pow2( si ), b2 = is_pow2( si + 13hh );
+		sout | wd(__bitsizeof(si)+2, pad0(bin(si))) | b1 | wd(__bitsizeof(si)+2, pad0(bin(si + 13h))) | b2;
 	} // for
 	sout | nl;
 	sout | "unsigned short int";
 	usi = 0;
-	sout | wd(__bitsizeof(usi)+2, pad0(bin(usi))) | is_pow2( usi ) | wd(__bitsizeof(usi)+2, pad0(bin(usi + 13h))) | is_pow2( usi + 13h );
+	b1 = is_pow2( usi ), b2 = is_pow2( usi + 13hh );
+	sout | wd(__bitsizeof(usi)+2, pad0(bin(usi))) | b1 | wd(__bitsizeof(usi)+2, pad0(bin(usi + 13hh))) | b2;
 	for ( usi = 1; usi != 0; usi <<= 1 ) {
-		sout | wd(__bitsizeof(usi)+2, pad0(bin(usi))) | is_pow2( usi ) | wd(__bitsizeof(usi)+2, pad0(bin(usi + 13h))) | is_pow2( usi + 13h );
+		b1 = is_pow2( usi ), b2 = is_pow2( usi + 13hh );
+		sout | wd(__bitsizeof(usi)+2, pad0(bin(usi))) | b1 | wd(__bitsizeof(usi)+2, pad0(bin(usi + 13hh))) | b2;
 	} // for
 	sout | nl;
@@ -65,14 +74,18 @@
 	sout | "int";
 	i = 0;
-	sout | wd(__bitsizeof(i)+2, pad0(bin(i))) | is_pow2( i ) | wd(__bitsizeof(i)+2, pad0(bin(i + 13))) | is_pow2( i + 13 );
+	b1 = is_pow2( i ), b2 = is_pow2( i + 13hh );
+	sout | wd(__bitsizeof(i)+2, pad0(bin(i))) | b1 | wd(__bitsizeof(i)+2, pad0(bin(i + 13h))) | b2;
 	for ( i = 1; i != 0; i <<= 1 ) {
-		sout | wd(__bitsizeof(i)+2, pad0(bin(i))) | is_pow2( i ) | wd(__bitsizeof(i)+2, pad0(bin(i + 13))) | is_pow2( i + 13 );
+		b1 = is_pow2( i ), b2 = is_pow2( i + 13hh );
+		sout | wd(__bitsizeof(i)+2, pad0(bin(i))) | b1 | wd(__bitsizeof(i)+2, pad0(bin(i + 13h))) | b2;
 	} // for
 	sout | nl;
 	sout | "unsigned int";
 	ui = 0;
-	sout | wd(__bitsizeof(ui)+2, pad0(bin(ui))) | is_pow2( ui ) | wd(__bitsizeof(ui)+2, pad0(bin(ui + 13))) | is_pow2( ui + 13 );
+	b1 = is_pow2( ui ), b2 = is_pow2( ui + 13hh );
+	sout | wd(__bitsizeof(ui)+2, pad0(bin(ui))) | b1 | wd(__bitsizeof(ui)+2, pad0(bin(ui + 13hh))) | b2;
 	for ( ui = 1; ui != 0; ui <<= 1 ) {
-		sout | wd(__bitsizeof(ui)+2, pad0(bin(ui))) | is_pow2( ui ) | wd(__bitsizeof(ui)+2, pad0(bin(ui + 13))) | is_pow2( ui + 13 );
+		b1 = is_pow2( ui ), b2 = is_pow2( ui + 13hh );
+		sout | wd(__bitsizeof(ui)+2, pad0(bin(ui))) | b1 | wd(__bitsizeof(ui)+2, pad0(bin(ui + 13hh))) | b2;
 	} // for
 	sout | nl;
@@ -80,14 +93,18 @@
 	sout | "long int";
 	li = 0;
-	sout | wd(__bitsizeof(li)+2, pad0(bin(li))) | is_pow2( li ) | wd(__bitsizeof(li)+2, pad0(bin(li + 13))) | is_pow2( li + 13 );
+	b1 = is_pow2( li ), b2 = is_pow2( li + 13hh );
+	sout | wd(__bitsizeof(li)+2, pad0(bin(li))) | b1 | wd(__bitsizeof(li)+2, pad0(bin(li + 13h))) | b2;
 	for ( li = 1; li != 0; li <<= 1 ) {
-		sout | wd(__bitsizeof(li)+2, pad0(bin(li))) | is_pow2( li ) | wd(__bitsizeof(li)+2, pad0(bin(li + 13))) | is_pow2( li + 13 );
+		b1 = is_pow2( li ), b2 = is_pow2( li + 13hh );
+		sout | wd(__bitsizeof(li)+2, pad0(bin(li))) | b1 | wd(__bitsizeof(li)+2, pad0(bin(li + 13h))) | b2;
 	} // for
 	sout | nl;
 	sout | "unsigned long int";
 	uli = 0;
-	sout | wd(__bitsizeof(uli)+2, pad0(bin(uli))) | is_pow2( uli ) | wd(__bitsizeof(uli)+2, pad0(bin(uli + 13))) | is_pow2( uli + 13 );
+	b1 = is_pow2( uli ), b2 = is_pow2( uli + 13hh );
+	sout | wd(__bitsizeof(uli)+2, pad0(bin(uli))) | b1 | wd(__bitsizeof(uli)+2, pad0(bin(uli + 13h))) | b2;
 	for ( uli = 1; uli != 0; uli <<= 1 ) {
-		sout | wd(__bitsizeof(uli)+2, pad0(bin(uli))) | is_pow2( uli ) | wd(__bitsizeof(uli)+2, pad0(bin(uli + 13))) | is_pow2( uli + 13 );
+		b1 = is_pow2( uli ), b2 = is_pow2( uli + 13hh );
+		sout | wd(__bitsizeof(uli)+2, pad0(bin(uli))) | b1 | wd(__bitsizeof(uli)+2, pad0(bin(uli + 13h))) | b2;
 	} // for
 	sout | nl;
@@ -95,14 +112,18 @@
 	sout | "long long int";
 	lli = 0;
-	sout | wd(__bitsizeof(lli)+2, pad0(bin(lli))) | is_pow2( lli ) | wd(__bitsizeof(lli)+2, pad0(bin(lli + 13hh))) | is_pow2( lli + 13hh );
+	b1 = is_pow2( lli ), b2 = is_pow2( lli + 13hh );
+	sout | wd(__bitsizeof(lli)+2, pad0(bin(lli))) | b1 | wd(__bitsizeof(lli)+2, pad0(bin(lli + 13h))) | b2;
 	for ( lli = 1; lli != 0; lli <<= 1 ) {
-		sout | wd(__bitsizeof(lli)+2, pad0(bin(lli))) | is_pow2( lli ) | wd(__bitsizeof(lli)+2, pad0(bin(lli + 13hh))) | is_pow2( lli + 13hh );
+		b1 = is_pow2( lli ), b2 = is_pow2( lli + 13hh );
+		sout | wd(__bitsizeof(lli)+2, pad0(bin(lli))) | b1 | wd(__bitsizeof(lli)+2, pad0(bin(lli + 13h))) | b2;
 	} // for
 	sout | nl;
 	sout | "unsigned long long int";
 	ulli = 0;
-	sout | wd(__bitsizeof(ulli)+2, pad0(bin(ulli))) | is_pow2( ulli ) | wd(__bitsizeof(ulli)+2, pad0(bin(ulli + 13hh))) | is_pow2( ulli + 13hh );
+	b1 = is_pow2( ulli ), b2 = is_pow2( ulli + 13hh );
+	sout | wd(__bitsizeof(ulli)+2, pad0(bin(ulli))) | b1 | wd(__bitsizeof(ulli)+2, pad0(bin(ulli + 13h))) | b2;
 	for ( ulli = 1; ulli != 0; ulli <<= 1 ) {
-		sout | wd(__bitsizeof(ulli)+2, pad0(bin(ulli))) | is_pow2( ulli ) | wd(__bitsizeof(ulli)+2, pad0(bin(ulli + 13hh))) | is_pow2( ulli + 13hh );
+		b1 = is_pow2( ulli ), b2 = is_pow2( ulli + 13hh );
+		sout | wd(__bitsizeof(ulli)+2, pad0(bin(ulli))) | b1 | wd(__bitsizeof(ulli)+2, pad0(bin(ulli + 13h))) | b2;
 	} // for
 	sout | nl;
@@ -114,15 +135,19 @@
 	printf( "signed char\n" );
 	sc = 0;
-	printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, floor2( sc, sc ), sc + 2hh, sc, floor2( sc + 2hh, sc ), -sc - 2hh, sc, floor2( -sc - 2hh, sc ) );
+	scr1 = floor2( sc, sc ), scr2 = floor2( sc + 2hh, sc ), scr3 = floor2( -sc - 2hh, sc );
+	printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );
 	for ( sc = 1; sc != 0; sc += sc ) {
-	    printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, floor2( sc, sc ), sc + 2hh, sc, floor2( sc + 2hh, sc ), -sc - 2hh, sc, floor2( -sc - 2hh, sc ) );
+		scr1 = floor2( sc, sc ); scr2 = floor2( sc + 2hh, sc ); scr3 = floor2( -sc - 2hh, sc );
+		printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );
 	} // for
 	printf( "\n" );
 
 	printf( "unsigned char\n" );
-	usc = 0;
-	printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", usc, usc, floor2( usc, usc ), usc + 2uhh, usc, floor2( usc + 2uhh, usc ), -usc - 2uhh, usc, floor2( -usc - 2uhh, usc ) );
-	for ( usc = 1; usc != 0; usc += usc ) {
-	    printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", usc, usc, floor2( usc, usc ), usc + 2uhh, usc, floor2( usc + 2uhh, usc ), -usc - 2uhh, usc, floor2( -usc - 2uhh, usc ) );
+	uc = 0;
+	ucr1 = floor2( uc, uc ), ucr2 = floor2( uc + 2hh, uc ), ucr3 = floor2( -uc - 2hh, uc );
+	printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );
+	for ( uc = 1; uc != 0; uc += uc ) {
+		ucr1 = floor2( uc, uc ); ucr2 = floor2( uc + 2hh, uc ); ucr3 = floor2( -uc - 2hh, uc );
+		printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );
 	} // for
 	printf( "\n" );
@@ -130,7 +155,9 @@
 	printf( "short int\n" );
 	si = 0;
-	printf( "floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd\n", si, si, floor2( si, si ), si + 2h, si, floor2( si + 2h, si ), -si - 2h, si, floor2( -si - 2h, si ) );
+	sir1 = floor2( si, si ), sir2 = floor2( si + 2hh, si ), sir3 = floor2( -si - 2hh, si );
+	printf( "floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );
 	for ( si = 1; si != 0; si += si ) {
-	    printf( "floor(%hd %hd) = %hd, floor(%hd %hd) = %hd, floor(%hd %hd) = %hd\n", si, si, floor2( si, si ), si + 2h, si, floor2( si + 2h, si ), -si - 2h, si, floor2( -si - 2h, si ) );
+		sir1 = floor2( si, si ); sir2 = floor2( si + 2hh, si ); sir3 = floor2( -si - 2hh, si );
+		printf( "floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );
 	} // for
 	printf( "\n" );
@@ -138,7 +165,9 @@
 	printf( "unsigned short int\n" );
 	usi = 0;
-	printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, floor2( usi, usi ), usi + 2uh, usi, floor2( usi + 2uh, usi ), -usi - 2uh, usi, floor2( -usi - 2uh, usi ) );
+	usir1 = floor2( usi, usi ), usir2 = floor2( usi + 2hh, usi ), usir3 = floor2( -usi - 2hh, usi );
+	printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );
 	for ( usi = 1; usi != 0; usi += usi ) {
-	    printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, floor2( usi, usi ), usi + 2uh, usi, floor2( usi + 2uh, usi ), -usi - 2uh, usi, floor2( -usi - 2uh, usi ) );
+		usir1 = floor2( usi, usi ); usir2 = floor2( usi + 2hh, usi ); usir3 = floor2( -usi - 2hh, usi );
+		printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );
 	} // for
 	printf( "\n" );
@@ -146,7 +175,9 @@
 	printf( "int\n" );
 	i = 0;
-	printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, floor2( i, i ), i + 2h, i, floor2( i + 2h, i ), -i - 2h, i, floor2( -i - 2h, i ) );
+	ir1 = floor2( i, i ), ir2 = floor2( i + 2hh, i ), ir3 = floor2( -i - 2hh, i );
+	printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );
 	for ( i = 1; i != 0; i += i ) {
-	    printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, floor2( i, i ), i + 2h, i, floor2( i + 2h, i ), -i - 2h, i, floor2( -i - 2h, i ) );
+		ir1 = floor2( i, i ); ir2 = floor2( i + 2hh, i ); ir3 = floor2( -i - 2hh, i );
+		printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );
 	} // for
 	printf( "\n" );
@@ -154,7 +185,9 @@
 	printf( "unsigned int\n" );
 	ui = 0;
-	printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, floor2( ui, ui ), ui + 2uh, ui, floor2( ui + 2uh, ui ), -ui - 2uh, ui, floor2( -ui - 2uh, ui ) );
+	uir1 = floor2( ui, ui ), uir2 = floor2( ui + 2hh, ui ), uir3 = floor2( -ui - 2hh, ui );
+	printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );
 	for ( ui = 1; ui != 0; ui += ui ) {
-	    printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, floor2( ui, ui ), ui + 2uh, ui, floor2( ui + 2uh, ui ), -ui - 2uh, ui, floor2( -ui - 2uh, ui ) );
+		uir1 = floor2( ui, ui ); uir2 = floor2( ui + 2hh, ui ); uir3 = floor2( -ui - 2hh, ui );
+		printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );
 	} // for
 	printf( "\n" );
@@ -162,7 +195,9 @@
 	printf( "long int\n" );
 	li = 0;
-	printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, floor2( li, li ), li + 2h, li, floor2( li + 2h, li ), -li - 2h, li, floor2( -li - 2h, li ) );
+	lir1 = floor2( li, li ), lir2 = floor2( li + 2hh, li ), lir3 = floor2( -li - 2hh, li );
+	printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );
 	for ( li = 1; li != 0; li += li ) {
-	    printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, floor2( li, li ), li + 2h, li, floor2( li + 2h, li ), -li - 2h, li, floor2( -li - 2h, li ) );
+		lir1 = floor2( li, li ); lir2 = floor2( li + 2hh, li ); lir3 = floor2( -li - 2hh, li );
+		printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );
 	} // for
 	printf( "\n" );
@@ -170,7 +205,9 @@
 	printf( "unsigned long int\n" );
 	uli = 0;
-	printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, floor2( uli, uli ), uli + 2uh, uli, floor2( uli + 2uh, uli ), -uli - 2uh, uli, floor2( -uli - 2uh, uli ) );
+	ulir1 = floor2( uli, uli ), ulir2 = floor2( uli + 2hh, uli ), ulir3 = floor2( -uli - 2hh, uli );
+	printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );
 	for ( uli = 1; uli != 0; uli += uli ) {
-	    printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, floor2( uli, uli ), uli + 2uh, uli, floor2( uli + 2uh, uli ), -uli - 2uh, uli, floor2( -uli - 2uh, uli ) );
+		ulir1 = floor2( uli, uli ); ulir2 = floor2( uli + 2hh, uli ); ulir3 = floor2( -uli - 2hh, uli );
+		printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );
 	} // for
 	printf( "\n" );
@@ -178,7 +215,9 @@
 	printf( "long long int\n" );
 	lli = 0;
-	printf( "floor(%lld %lld) = %lld, floor(%lld %lld) = %lld, floor(%lld %lld) = %lld\n", lli, lli, floor2( lli, lli ), lli + 2h, lli, floor2( lli + 2h, lli ), -lli - 2h, lli, floor2( -lli - 2h, lli ) );
+	llir1 = floor2( lli, lli ), llir2 = floor2( lli + 2hh, lli ), llir3 = floor2( -lli - 2hh, lli );
+	printf( "floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );
 	for ( lli = 1; lli != 0; lli += lli ) {
-	    printf( "floor(%lld %lld) = %lld, floor(%lld %lld) = %lld, floor(%lld %lld) = %lld\n", lli, lli, floor2( lli, lli ), lli + 2h, lli, floor2( lli + 2h, lli ), -lli - 2h, lli, floor2( -lli - 2h, lli ) );
+		llir1 = floor2( lli, lli ); llir2 = floor2( lli + 2hh, lli ); llir3 = floor2( -lli - 2hh, lli );
+		printf( "floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );
 	} // for
 	printf( "\n" );
@@ -186,7 +225,9 @@
 	printf( "unsigned long long int\n" );
 	ulli = 0;
-	printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, floor2( ulli, ulli ), ulli + 2uh, ulli, floor2( ulli + 2uh, ulli ), -ulli - 2uh, ulli, floor2( -ulli - 2uh, ulli ) );
+	ullir1 = floor2( ulli, ulli ), ullir2 = floor2( ulli + 2hh, ulli ), ullir3 = floor2( -ulli - 2hh, ulli );
+	printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );
 	for ( ulli = 1; ulli != 0; ulli += ulli ) {
-	    printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, floor2( ulli, ulli ), ulli + 2uh, ulli, floor2( ulli + 2uh, ulli ), -ulli - 2uh, ulli, floor2( -ulli - 2uh, ulli ) );
+		ullir1 = floor2( ulli, ulli ); ullir2 = floor2( ulli + 2hh, ulli ); ullir3 = floor2( -ulli - 2hh, ulli );
+		printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );
 	} // for
 	printf( "\n" );
@@ -198,11 +239,13 @@
 	printf( "signed char\n" );
 	for ( sc = 1; sc != 0; sc += sc ) {
-	    printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, floor( sc, sc ), sc + 2hh, sc, floor( sc + 2hh, sc ), -sc - 2hh, sc, floor( -sc - 2hh, sc ) );
+		scr1 = floor( sc, sc ); scr2 = floor( sc + 2hh, sc ); scr3 = floor( -sc - 2hh, sc );
+		printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );
 	} // for
 	printf( "\n" );
 
 	printf( "unsigned char\n" );
-	for ( usc = 1; usc != 0; usc += usc ) {
-	    printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", usc, usc, floor( usc, usc ), usc + 2uhh, usc, floor( usc + 2uhh, usc ), -usc - 2uhh, usc, floor( -usc - 2uhh, usc ) );
+	for ( uc = 1; uc != 0; uc += uc ) {
+		ucr1 = floor( uc, uc ); ucr2 = floor( uc + 2hh, uc ); ucr3 = floor( -uc - 2hh, uc );
+		printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );
 	} // for
 	printf( "\n" );
@@ -210,5 +253,6 @@
 	printf( "short int\n" );
 	for ( si = 1; si != 0; si += si ) {
-	    printf( "floor(%hd, %hd) = %hu, floor(%hd, %hd) = %hu, floor(%hd, %hd) = %hu\n", si, si, floor( si, si ), si + 2h, si, floor( si + 2h, si ), -si - 2h, si, floor( -si - 2h, si ) );
+		sir1 = floor( si, si ); sir2 = floor( si + 2hh, si ); sir3 = floor( -si - 2hh, si );
+		printf( "floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );
 	} // for
 	printf( "\n" );
@@ -216,5 +260,6 @@
 	printf( "unsigned short int\n" );
 	for ( usi = 1; usi != 0; usi += usi ) {
-	    printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, floor( usi, usi ), usi + 2uh, usi, floor( usi + 2uh, usi ), -usi - 2uh, usi, floor( -usi - 2uh, usi ) );
+		usir1 = floor( usi, usi ); usir2 = floor( usi + 2hh, usi ); usir3 = floor( -usi - 2hh, usi );
+		printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );
 	} // for
 	printf( "\n" );
@@ -222,5 +267,6 @@
 	printf( "int\n" );
 	for ( i = 1; i != 0; i += i ) {
-	    printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, floor( i, i ), i + 2h, i, floor( i + 2h, i ), -i - 2h, i, floor( -i - 2h, i ) );
+		ir1 = floor( i, i ); ir2 = floor( i + 2hh, i ); ir3 = floor( -i - 2hh, i );
+		printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );
 	} // for
 	printf( "\n" );
@@ -228,5 +274,6 @@
 	printf( "unsigned int\n" );
 	for ( ui = 1; ui != 0; ui += ui ) {
-	    printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, floor( ui, ui ), ui + 2uh, ui, floor( ui + 2uh, ui ), -ui - 2uh, ui, floor( -ui - 2uh, ui ) );
+		uir1 = floor( ui, ui ); uir2 = floor( ui + 2hh, ui ); uir3 = floor( -ui - 2hh, ui );
+		printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );
 	} // for
 	printf( "\n" );
@@ -234,5 +281,6 @@
 	printf( "long int\n" );
 	for ( li = 1; li != 0; li += li ) {
-	    printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, floor( li, li ), li + 2h, li, floor( li + 2h, li ), -li - 2h, li, floor( -li - 2h, li ) );
+		lir1 = floor( li, li ); lir2 = floor( li + 2hh, li ); lir3 = floor( -li - 2hh, li );
+		printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );
 	} // for
 	printf( "\n" );
@@ -240,5 +288,6 @@
 	printf( "unsigned long int\n" );
 	for ( uli = 1; uli != 0; uli += uli ) {
-	    printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, floor( uli, uli ), uli + 2uh, uli, floor( uli + 2uh, uli ), -uli - 2uh, uli, floor( -uli - 2uh, uli ) );
+		ulir1 = floor( uli, uli ); ulir2 = floor( uli + 2hh, uli ); ulir3 = floor( -uli - 2hh, uli );
+		printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );
 	} // for
 	printf( "\n" );
@@ -246,5 +295,6 @@
 	printf( "long long int\n" );
 	for ( lli = 1; lli != 0; lli += lli ) {
-	    printf( "floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld\n", lli, lli, floor( lli, lli ), lli + 2h, lli, floor( lli + 2h, lli ), -lli - 2h, lli, floor( -lli - 2h, lli ) );
+		llir1 = floor( lli, lli ); llir2 = floor( lli + 2hh, lli ); llir3 = floor( -lli - 2hh, lli );
+		printf( "floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );
 	} // for
 	printf( "\n" );
@@ -252,5 +302,6 @@
 	printf( "unsigned long long int\n" );
 	for ( ulli = 1; ulli != 0; ulli += ulli ) {
-	    printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, floor( ulli, ulli ), ulli + 2uh, ulli, floor( ulli + 2uh, ulli ), -ulli - 2uh, ulli, floor( -ulli - 2uh, ulli ) );
+		ullir1 = floor( ulli, ulli ); ullir2 = floor( ulli + 2hh, ulli ); ullir3 = floor( -ulli - 2hh, ulli );
+		printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );
 	} // for
 	printf( "\n" );
@@ -262,15 +313,19 @@
 	printf( "signed char\n" );
 	sc = 0;
-	printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, ceiling2( sc, sc ), sc + 2hh, sc, ceiling2( sc + 2hh, sc ), -sc - 2hh, sc, ceiling2( -sc - 2hh, sc ) );
+	scr1 = ceiling2( sc, sc ), scr2 = ceiling2( sc + 2hh, sc ), scr3 = ceiling2( -sc - 2hh, sc );
+	printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );
 	for ( sc = 1; sc != 0; sc += sc ) {
-	    printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, ceiling2( sc, sc ), sc + 2hh, sc, ceiling2( sc + 2hh, sc ), -sc - 2hh, sc, ceiling2( -sc - 2hh, sc ) );
+		scr1 = ceiling2( sc, sc ); scr2 = ceiling2( sc + 2hh, sc ); scr3 = ceiling2( -sc - 2hh, sc );
+		printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );
 	} // for
 	printf( "\n" );
 
 	printf( "unsigned char\n" );
-	usc = 0;
-	printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", usc, usc, ceiling2( usc, usc ), usc + 2uhh, usc, ceiling2( usc + 2uhh, usc ), -usc - 2uhh, usc, ceiling2( -usc - 2uhh, usc ) );
-	for ( usc = 1; usc != 0; usc += usc ) {
-	    printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", usc, usc, ceiling2( usc, usc ), usc + 2uhh, usc, ceiling2( usc + 2uhh, usc ), -usc - 2uhh, usc, ceiling2( -usc - 2uhh, usc ) );
+	uc = 0;
+	ucr1 = ceiling2( uc, uc ), ucr2 = ceiling2( uc + 2hh, uc ), ucr3 = ceiling2( -uc - 2hh, uc );
+	printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );
+	for ( uc = 1; uc != 0; uc += uc ) {
+		ucr1 = ceiling2( uc, uc ); ucr2 = ceiling2( uc + 2hh, uc ); ucr3 = ceiling2( -uc - 2hh, uc );
+		printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );
 	} // for
 	printf( "\n" );
@@ -278,7 +333,9 @@
 	printf( "short int\n" );
 	si = 0;
-	printf( "ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd\n", si, si, ceiling2( si, si ), si + 2h, si, ceiling2( si + 2h, si ), -si - 2h, si, ceiling2( -si - 2h, si ) );
+	sir1 = ceiling2( si, si ), sir2 = ceiling2( si + 2hh, si ), sir3 = ceiling2( -si - 2hh, si );
+	printf( "ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );
 	for ( si = 1; si != 0; si += si ) {
-	    printf( "ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd\n", si, si, ceiling2( si, si ), si + 2h, si, ceiling2( si + 2h, si ), -si - 2h, si, ceiling2( -si - 2h, si ) );
+		sir1 = ceiling2( si, si ); sir2 = ceiling2( si + 2hh, si ); sir3 = ceiling2( -si - 2hh, si );
+		printf( "ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );
 	} // for
 	printf( "\n" );
@@ -286,7 +343,9 @@
 	printf( "unsigned short int\n" );
 	usi = 0;
-	printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, ceiling2( usi, usi ), usi + 2uh, usi, ceiling2( usi + 2uh, usi ), -usi - 2uh, usi, ceiling2( -usi - 2uh, usi ) );
+	usir1 = ceiling2( usi, usi ), usir2 = ceiling2( usi + 2hh, usi ), usir3 = ceiling2( -usi - 2hh, usi );
+	printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );
 	for ( usi = 1; usi != 0; usi += usi ) {
-	    printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, ceiling2( usi, usi ), usi + 2uh, usi, ceiling2( usi + 2uh, usi ), -usi - 2uh, usi, ceiling2( -usi - 2uh, usi ) );
+		usir1 = ceiling2( usi, usi ); usir2 = ceiling2( usi + 2hh, usi ); usir3 = ceiling2( -usi - 2hh, usi );
+		printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );
 	} // for
 	printf( "\n" );
@@ -294,7 +353,9 @@
 	printf( "int\n" );
 	i = 0;
-	printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ceiling2( i, i ), i + 2h, i, ceiling2( i + 2h, i ), -i - 2h, i, ceiling2( -i - 2h, i ) );
+	ir1 = ceiling2( i, i ), ir2 = ceiling2( i + 2hh, i ), ir3 = ceiling2( -i - 2hh, i );
+	printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );
 	for ( i = 1; i != 0; i += i ) {
-	    printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ceiling2( i, i ), i + 2h, i, ceiling2( i + 2h, i ), -i - 2h, i, ceiling2( -i - 2h, i ) );
+		ir1 = ceiling2( i, i ); ir2 = ceiling2( i + 2hh, i ); ir3 = ceiling2( -i - 2hh, i );
+		printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );
 	} // for
 	printf( "\n" );
@@ -302,7 +363,9 @@
 	printf( "unsigned int\n" );
 	ui = 0;
-	printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, ceiling2( ui, ui ), ui + 2uh, ui, ceiling2( ui + 2uh, ui ), -ui - 2uh, ui, ceiling2( -ui - 2uh, ui ) );
+	uir1 = ceiling2( ui, ui ), uir2 = ceiling2( ui + 2hh, ui ), uir3 = ceiling2( -ui - 2hh, ui );
+	printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );
 	for ( ui = 1; ui != 0; ui += ui ) {
-	    printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, ceiling2( ui, ui ), ui + 2uh, ui, ceiling2( ui + 2uh, ui ), -ui - 2uh, ui, ceiling2( -ui - 2uh, ui ) );
+		uir1 = ceiling2( ui, ui ); uir2 = ceiling2( ui + 2hh, ui ); uir3 = ceiling2( -ui - 2hh, ui );
+		printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );
 	} // for
 	printf( "\n" );
@@ -310,7 +373,9 @@
 	printf( "long int\n" );
 	li = 0;
-	printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, ceiling2( li, li ), li + 2h, li, ceiling2( li + 2h, li ), -li - 2h, li, ceiling2( -li - 2h, li ) );
+	lir1 = ceiling2( li, li ), lir2 = ceiling2( li + 2hh, li ), lir3 = ceiling2( -li - 2hh, li );
+	printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );
 	for ( li = 1; li != 0; li += li ) {
-	    printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, ceiling2( li, li ), li + 2h, li, ceiling2( li + 2h, li ), -li - 2h, li, ceiling2( -li - 2h, li ) );
+		lir1 = ceiling2( li, li ); lir2 = ceiling2( li + 2hh, li ); lir3 = ceiling2( -li - 2hh, li );
+		printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );
 	} // for
 	printf( "\n" );
@@ -318,7 +383,9 @@
 	printf( "unsigned long int\n" );
 	uli = 0;
-	printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ceiling2( uli, uli ), uli + 2uh, uli, ceiling2( uli + 2uh, uli ), -uli - 2uh, uli, ceiling2( -uli - 2uh, uli ) );
+	ulir1 = ceiling2( uli, uli ), ulir2 = ceiling2( uli + 2hh, uli ), ulir3 = ceiling2( -uli - 2hh, uli );
+	printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );
 	for ( uli = 1; uli != 0; uli += uli ) {
-	    printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ceiling2( uli, uli ), uli + 2uh, uli, ceiling2( uli + 2uh, uli ), -uli - 2uh, uli, ceiling2( -uli - 2uh, uli ) );
+		ulir1 = ceiling2( uli, uli ); ulir2 = ceiling2( uli + 2hh, uli ); ulir3 = ceiling2( -uli - 2hh, uli );
+		printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );
 	} // for
 	printf( "\n" );
@@ -326,7 +393,9 @@
 	printf( "long long int\n" );
 	lli = 0;
-	printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, ceiling2( lli, lli ), lli + 2h, lli, ceiling2( lli + 2h, lli ), -lli - 2h, lli, ceiling2( -lli - 2h, lli ) );
+	llir1 = ceiling2( lli, lli ), llir2 = ceiling2( lli + 2hh, lli ), llir3 = ceiling2( -lli - 2hh, lli );
+	printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );
 	for ( lli = 1; lli != 0; lli += lli ) {
-	    printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, ceiling2( lli, lli ), lli + 2h, lli, ceiling2( lli + 2h, lli ), -lli - 2h, lli, ceiling2( -lli - 2h, lli ) );
+		llir1 = ceiling2( lli, lli ); llir2 = ceiling2( lli + 2hh, lli ); llir3 = ceiling2( -lli - 2hh, lli );
+		printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );
 	} // for
 	printf( "\n" );
@@ -334,7 +403,9 @@
 	printf( "unsigned long long int\n" );
 	ulli = 0;
-	printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ceiling2( ulli, ulli ), ulli + 2uh, ulli, ceiling2( ulli + 2uh, ulli ), -ulli - 2uh, ulli, ceiling2( -ulli - 2uh, ulli ) );
+	ullir1 = ceiling2( ulli, ulli ), ullir2 = ceiling2( ulli + 2hh, ulli ), ullir3 = ceiling2( -ulli - 2hh, ulli );
+	printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );
 	for ( ulli = 1; ulli != 0; ulli += ulli ) {
-	    printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ceiling2( ulli, ulli ), ulli + 2uh, ulli, ceiling2( ulli + 2uh, ulli ), -ulli - 2uh, ulli, ceiling2( -ulli - 2uh, ulli ) );
+		ullir1 = ceiling2( ulli, ulli ); ullir2 = ceiling2( ulli + 2hh, ulli ); ullir3 = ceiling2( -ulli - 2hh, ulli );
+		printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );
 	} // for
 	printf( "\n" );
@@ -346,11 +417,13 @@
 	printf( "signed char\n" );
 	for ( sc = 1; sc != 0; sc += sc ) {
-	    printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, ceiling( sc, sc ), sc + 2hh, sc, ceiling( sc + 2hh, sc ), -sc - 2hh, sc, ceiling( -sc - 2hh, sc ) );
+		scr1 = ceiling( sc, sc ); scr2 = ceiling( sc + 2hh, sc ); scr3 = ceiling( -sc - 2hh, sc );
+		printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );
 	} // for
 	printf( "\n" );
 
 	printf( "unsigned char\n" );
-	for ( usc = 1; usc != 0; usc += usc ) {
-	    printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", usc, usc, ceiling( usc, usc ), usc + 2uhh, usc, ceiling( usc + 2uhh, usc ), -usc - 2uhh, usc, ceiling( -usc - 2uhh, usc ) );
+	for ( uc = 1; uc != 0; uc += uc ) {
+		ucr1 = ceiling( uc, uc ); ucr2 = ceiling( uc + 2hh, uc ); ucr3 = ceiling( -uc - 2hh, uc );
+		printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );
 	} // for
 	printf( "\n" );
@@ -358,5 +431,6 @@
 	printf( "short int\n" );
 	for ( si = 1; si != 0; si += si ) {
-	    printf( "ceiling(%hd, %hd) = %hu, ceiling(%hd, %hd) = %hu, ceiling(%hd, %hd) = %hu\n", si, si, ceiling( si, si ), si + 2h, si, ceiling( si + 2h, si ), -si - 2h, si, ceiling( -si - 2h, si ) );
+		sir1 = ceiling( si, si ); sir2 = ceiling( si + 2hh, si ); sir3 = ceiling( -si - 2hh, si );
+		printf( "ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );
 	} // for
 	printf( "\n" );
@@ -364,5 +438,6 @@
 	printf( "unsigned short int\n" );
 	for ( usi = 1; usi != 0; usi += usi ) {
-	    printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, ceiling( usi, usi ), usi + 2uh, usi, ceiling( usi + 2uh, usi ), -usi - 2uh, usi, ceiling( -usi - 2uh, usi ) );
+		usir1 = ceiling( usi, usi ); usir2 = ceiling( usi + 2hh, usi ); usir3 = ceiling( -usi - 2hh, usi );
+		printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );
 	} // for
 	printf( "\n" );
@@ -370,5 +445,6 @@
 	printf( "int\n" );
 	for ( i = 1; i != 0; i += i ) {
-	    printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ceiling( i, i ), i + 2h, i, ceiling( i + 2h, i ), -i - 2h, i, ceiling( -i - 2h, i ) );
+		ir1 = ceiling( i, i ); ir2 = ceiling( i + 2hh, i ); ir3 = ceiling( -i - 2hh, i );
+		printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );
 	} // for
 	printf( "\n" );
@@ -376,5 +452,6 @@
 	printf( "unsigned int\n" );
 	for ( ui = 1; ui != 0; ui += ui ) {
-	    printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, ceiling( ui, ui ), ui + 2uh, ui, ceiling( ui + 2uh, ui ), -ui - 2uh, ui, ceiling( -ui - 2uh, ui ) );
+		uir1 = ceiling( ui, ui ); uir2 = ceiling( ui + 2hh, ui ); uir3 = ceiling( -ui - 2hh, ui );
+		printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );
 	} // for
 	printf( "\n" );
@@ -382,5 +459,6 @@
 	printf( "long int\n" );
 	for ( li = 1; li != 0; li += li ) {
-	    printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, ceiling( li, li ), li + 2h, li, ceiling( li + 2h, li ), -li - 2h, li, ceiling( -li - 2h, li ) );
+		lir1 = ceiling( li, li ); lir2 = ceiling( li + 2hh, li ); lir3 = ceiling( -li - 2hh, li );
+		printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );
 	} // for
 	printf( "\n" );
@@ -388,5 +466,6 @@
 	printf( "unsigned long int\n" );
 	for ( uli = 1; uli != 0; uli += uli ) {
-	    printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ceiling( uli, uli ), uli + 2uh, uli, ceiling( uli + 2uh, uli ), -uli - 2uh, uli, ceiling( -uli - 2uh, uli ) );
+		ulir1 = ceiling( uli, uli ); ulir2 = ceiling( uli + 2hh, uli ); ulir3 = ceiling( -uli - 2hh, uli );
+		printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );
 	} // for
 	printf( "\n" );
@@ -394,5 +473,6 @@
 	printf( "long long int\n" );
 	for ( lli = 1; lli != 0; lli += lli ) {
-	    printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, ceiling( lli, lli ), lli + 2h, lli, ceiling( lli + 2h, lli ), -lli - 2h, lli, ceiling( -lli - 2h, lli ) );
+		llir1 = ceiling( lli, lli ); llir2 = ceiling( lli + 2hh, lli ); llir3 = ceiling( -lli - 2hh, lli );
+		printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );
 	} // for
 	printf( "\n" );
@@ -400,5 +480,6 @@
 	printf( "unsigned long long int\n" );
 	for ( ulli = 1; ulli != 0; ulli += ulli ) {
-	    printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ceiling( ulli, ulli ), ulli + 2uh, ulli, ceiling( ulli + 2uh, ulli ), -ulli - 2uh, ulli, ceiling( -ulli - 2uh, ulli ) );
+		ullir1 = ceiling( ulli, ulli ); ullir2 = ceiling( ulli + 2hh, ulli ); ullir3 = ceiling( -ulli - 2hh, ulli );
+		printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );
 	} // for
 	printf( "\n" );
