Changeset f7fac4b


Ignore:
Timestamp:
Aug 25, 2020, 9:17:22 PM (14 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
arm-eh, jacob/cs343-translation, master, new-ast-unique-expr
Children:
af4487d
Parents:
95472ee (diff), ceb7db8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
4 added
11 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/Makefile.am

    r95472ee rf7fac4b  
    5353
    5454thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa \
    55                 concurrency/monitor.hfa concurrency/mutex.hfa
     55                concurrency/monitor.hfa concurrency/mutex.hfa concurrency/exception.hfa
    5656
    5757thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \
  • libcfa/src/concurrency/coroutine.cfa

    r95472ee rf7fac4b  
    215215                return cor;
    216216        }
    217 
    218         struct $coroutine * __cfactx_cor_active(void) {
    219                 return active_coroutine();
    220         }
    221217}
    222218
  • libcfa/src/concurrency/invoke.c

    r95472ee rf7fac4b  
    2929// Called from the kernel when starting a coroutine or task so must switch back to user mode.
    3030
    31 extern struct $coroutine * __cfactx_cor_active(void);
    3231extern struct $coroutine * __cfactx_cor_finish(void);
    3332extern void __cfactx_cor_leave ( struct $coroutine * );
     
    3635extern void disable_interrupts() OPTIONAL_THREAD;
    3736extern void enable_interrupts( __cfaabi_dbg_ctx_param );
    38 
    39 struct exception_context_t * this_exception_context() {
    40         return &__get_stack( __cfactx_cor_active() )->exception_context;
    41 }
    4237
    4338void __cfactx_invoke_coroutine(
  • libcfa/src/concurrency/invoke.h

    r95472ee rf7fac4b  
    9898        }
    9999
    100         struct exception_context_t * this_exception_context();
    101 
    102100        // struct which calls the monitor is accepting
    103101        struct __waitfor_mask_t {
  • libcfa/src/concurrency/io/setup.cfa

    r95472ee rf7fac4b  
    384384                        /* paranoid */ verify( is_pow2( params_in.num_ready ) || (params_in.num_ready < 8) );
    385385                        sq.ready_cnt = max( params_in.num_ready, 8 );
    386                         sq.ready = alloc_align( 64, sq.ready_cnt );
     386                        sq.ready = alloc( sq.ready_cnt, 64`align );
    387387                        for(i; sq.ready_cnt) {
    388388                                sq.ready[i] = -1ul32;
  • libcfa/src/concurrency/kernel/startup.cfa

    r95472ee rf7fac4b  
    579579
    580580        // Lock the RWlock so no-one pushes/pops while we are changing the queue
     581        disable_interrupts();
    581582        uint_fast32_t last_size = ready_mutate_lock();
    582583
     
    586587        // Unlock the RWlock
    587588        ready_mutate_unlock( last_size );
     589        enable_interrupts_noPoll(); // Don't poll, could be in main cluster
     590
    588591
    589592        this.io.cnt  = num_io;
     
    601604
    602605        // Lock the RWlock so no-one pushes/pops while we are changing the queue
     606        disable_interrupts();
    603607        uint_fast32_t last_size = ready_mutate_lock();
    604608
     
    608612        // Unlock the RWlock
    609613        ready_mutate_unlock( last_size );
     614        enable_interrupts_noPoll(); // Don't poll, could be in main cluster
    610615
    611616        #if !defined(__CFA_NO_STATISTICS__)
  • libcfa/src/concurrency/ready_queue.cfa

    r95472ee rf7fac4b  
    215215}
    216216
     217static inline [unsigned, bool] idx_from_r(unsigned r, unsigned preferred) {
     218        unsigned i;
     219        bool local;
     220        #if defined(BIAS)
     221                unsigned rlow  = r % BIAS;
     222                unsigned rhigh = r / BIAS;
     223                if((0 != rlow) && preferred >= 0) {
     224                        // (BIAS - 1) out of BIAS chances
     225                        // Use perferred queues
     226                        i = preferred + (rhigh % 4);
     227                        local = true;
     228                }
     229                else {
     230                        // 1 out of BIAS chances
     231                        // Use all queues
     232                        i = rhigh;
     233                        local = false;
     234                }
     235        #else
     236                i = r;
     237                local = false;
     238        #endif
     239        return [i, local];
     240}
     241
    217242//-----------------------------------------------------------------------
    218243__attribute__((hot)) bool push(struct cluster * cltr, struct $thread * thrd) with (cltr->ready_queue) {
     
    222247        thrd->link.ts = rdtscl();
    223248
    224         #if defined(BIAS) && !defined(__CFA_NO_STATISTICS__)
    225                 bool local = false;
    226                 int preferred =
     249        __attribute__((unused)) bool local;
     250        __attribute__((unused)) int preferred;
     251        #if defined(BIAS)
     252                preferred =
    227253                        //*
    228254                        kernelTLS.this_processor ? kernelTLS.this_processor->id * 4 : -1;
     
    230256                        thrd->link.preferred * 4;
    231257                        //*/
    232 
    233 
    234258        #endif
    235259
     
    238262        do {
    239263                // Pick the index of a lane
    240                 #if defined(BIAS)
    241                         unsigned r = __tls_rand();
    242                         unsigned rlow  = r % BIAS;
    243                         unsigned rhigh = r / BIAS;
    244                         if((0 != rlow) && preferred >= 0) {
    245                                 // (BIAS - 1) out of BIAS chances
    246                                 // Use perferred queues
    247                                 i = preferred + (rhigh % 4);
    248 
    249                                 #if !defined(__CFA_NO_STATISTICS__)
    250                                         local = true;
    251                                         __tls_stats()->ready.pick.push.local++;
    252                                 #endif
    253                         }
    254                         else {
    255                                 // 1 out of BIAS chances
    256                                 // Use all queues
    257                                 i = rhigh;
    258                                 local = false;
    259                         }
    260                 #else
    261                         i = __tls_rand();
     264                // unsigned r = __tls_rand();
     265                unsigned r = __tls_rand_fwd();
     266                [i, local] = idx_from_r(r, preferred);
     267
     268                #if !defined(__CFA_NO_STATISTICS__)
     269                        if(local) {
     270                                __tls_stats()->ready.pick.push.local++;
     271                        }
    262272                #endif
    263273
     
    274284
    275285        // Actually push it
    276         bool lane_first = push(lanes.data[i], thrd);
     286        #ifdef USE_SNZI
     287                bool lane_first =
     288        #endif
     289
     290        push(lanes.data[i], thrd);
    277291
    278292        #ifdef USE_SNZI
     
    287301        #endif
    288302
     303        __tls_rand_advance_bck();
     304
    289305        // Unlock and return
    290306        __atomic_unlock( &lanes.data[i].lock );
     
    311327        /* paranoid */ verify( lanes.count > 0 );
    312328        unsigned count = __atomic_load_n( &lanes.count, __ATOMIC_RELAXED );
     329        int preferred;
    313330        #if defined(BIAS)
    314331                // Don't bother trying locally too much
    315332                int local_tries = 8;
    316         #endif
     333                preferred = kernelTLS.this_processor->id * 4;
     334        #endif
     335
    317336
    318337        // As long as the list is not empty, try finding a lane that isn't empty and pop from it
     
    323342        #endif
    324343                // Pick two lists at random
    325                 unsigned i,j;
    326                 #if defined(BIAS)
    327                         #if !defined(__CFA_NO_STATISTICS__)
    328                                 bool local = false;
    329                         #endif
    330                         uint64_t r = __tls_rand();
    331                         unsigned rlow  = r % BIAS;
    332                         uint64_t rhigh = r / BIAS;
    333                         if(local_tries && 0 != rlow) {
    334                                 // (BIAS - 1) out of BIAS chances
    335                                 // Use perferred queues
    336                                 unsigned pid = kernelTLS.this_processor->id * 4;
    337                                 i = pid + (rhigh % 4);
    338                                 j = pid + ((rhigh >> 32ull) % 4);
    339 
    340                                 // count the tries
    341                                 local_tries--;
    342 
    343                                 #if !defined(__CFA_NO_STATISTICS__)
    344                                         local = true;
    345                                         __tls_stats()->ready.pick.pop.local++;
    346                                 #endif
    347                         }
    348                         else {
    349                                 // 1 out of BIAS chances
    350                                 // Use all queues
    351                                 i = rhigh;
    352                                 j = rhigh >> 32ull;
    353                         }
    354                 #else
    355                         i = __tls_rand();
    356                         j = __tls_rand();
     344                // unsigned ri = __tls_rand();
     345                // unsigned rj = __tls_rand();
     346                unsigned ri = __tls_rand_bck();
     347                unsigned rj = __tls_rand_bck();
     348
     349                unsigned i, j;
     350                __attribute__((unused)) bool locali, localj;
     351                [i, locali] = idx_from_r(ri, preferred);
     352                [j, localj] = idx_from_r(rj, preferred);
     353
     354                #if !defined(__CFA_NO_STATISTICS__)
     355                        if(locali) {
     356                                __tls_stats()->ready.pick.pop.local++;
     357                        }
     358                        if(localj) {
     359                                __tls_stats()->ready.pick.pop.local++;
     360                        }
    357361                #endif
    358362
     
    364368                if(thrd) {
    365369                        #if defined(BIAS) && !defined(__CFA_NO_STATISTICS__)
    366                                 if( local ) __tls_stats()->ready.pick.pop.lsuccess++;
     370                                if( locali || localj ) __tls_stats()->ready.pick.pop.lsuccess++;
    367371                        #endif
    368372                        return thrd;
     
    543547
    544548                // Allocate new array (uses realloc and memcpies the data)
    545                 lanes.data = alloc(lanes.data, ncount);
     549                lanes.data = alloc( ncount, lanes.data`realloc );
    546550
    547551                // Fix the moved data
     
    634638
    635639                // Allocate new array (uses realloc and memcpies the data)
    636                 lanes.data = alloc(lanes.data, lanes.count);
     640                lanes.data = alloc( lanes.count, lanes.data`realloc );
    637641
    638642                // Fix the moved data
  • libcfa/src/exception.c

    r95472ee rf7fac4b  
    209209                void * stop_param) {
    210210        // Verify actions follow the rules we expect.
    211         verify((actions & _UA_CLEANUP_PHASE) && (actions & _UA_FORCE_UNWIND));
    212         verify(!(actions & (_UA_SEARCH_PHASE | _UA_HANDLER_FRAME)));
     211        verify(actions & _UA_CLEANUP_PHASE);
     212        verify(actions & _UA_FORCE_UNWIND);
     213        verify(!(actions & _UA_SEARCH_PHASE));
     214        verify(!(actions & _UA_HANDLER_FRAME));
    213215
    214216        if ( actions & _UA_END_OF_STACK ) {
    215                 exit(1);
     217                abort();
    216218        } else {
    217219                return _URC_NO_REASON;
     
    219221}
    220222
    221 static struct _Unwind_Exception cancel_exception_storage;
     223__attribute__((weak)) _Unwind_Reason_Code
     224__cfaehm_cancellation_unwind( struct _Unwind_Exception * exception ) {
     225        return _Unwind_ForcedUnwind( exception, _Stop_Fn, (void*)0x22 );
     226}
    222227
    223228// Cancel the current stack, prefroming approprate clean-up and messaging.
    224229void __cfaehm_cancel_stack( exception_t * exception ) {
    225         // TODO: Detect current stack and pick a particular stop-function.
     230        __cfaehm_allocate_exception( exception );
     231
     232        struct exception_context_t * context = this_exception_context();
     233        struct __cfaehm_node * node = EXCEPT_TO_NODE(context->current_exception);
     234
     235        // Preform clean-up of any extra active exceptions.
     236        while ( node->next ) {
     237                struct __cfaehm_node * to_free = node->next;
     238                node->next = to_free->next;
     239                exception_t * except = NODE_TO_EXCEPT( to_free );
     240                except->virtual_table->free( except );
     241            free( to_free );
     242        }
     243
    226244        _Unwind_Reason_Code ret;
    227         ret = _Unwind_ForcedUnwind( &cancel_exception_storage, _Stop_Fn, (void*)0x22 );
     245        ret = __cfaehm_cancellation_unwind( &node->unwind_exception );
    228246        printf("UNWIND ERROR %d after force unwind\n", ret);
    229247        abort();
  • libcfa/src/stdlib.hfa

    r95472ee rf7fac4b  
    114114} // distribution
    115115
     116/*
     117        FIX ME : fix alloc interface after Ticker Number 214 is resolved, define and add union to S_fill. Then, modify postfix-fill functions to support T * with nmemb, char, and T object of any size. Finally, change alloc_internal.
     118        Or, just follow the instructions below for that.
     119
     120        1. Replace the current forall-block that contains defintions of S_fill and S_realloc with following:
     121                forall( dtype T | sized(T) ) {
     122                        union  U_fill           { char c; T * a; T t; };
     123                        struct S_fill           { char tag; char c; size_t size; T * at; char t[50]; };
     124                        struct S_realloc        { inline T *; };
     125                }
     126
     127        2. Replace all current postfix-fill functions with following for updated S_fill:
     128                S_fill(T) ?`fill( char a )                                      { S_fill(T) ret = {'c'}; ret.fill.c = a; return ret; }
     129                S_fill(T) ?`fill( T    a )                                      { S_fill(T) ret = {'t'}; memcpy(&ret.fill.t, &a, sizeof(T)); return ret; }
     130                S_fill(T) ?`fill( T    a[], size_t nmemb )      { S_fill(T) ret = {'a', nmemb}; ret.fill.a = a; return ret; }
     131
     132        3. Replace the $alloc_internal function which is outside ttype forall-block with following function:
     133                T * $alloc_internal( void * Resize, T * Realloc, size_t Align, size_t Dim, S_fill(T) Fill) {
     134                        T * ptr = NULL;
     135                        size_t size = sizeof(T);
     136                        size_t copy_end = 0;
     137
     138                        if(Resize) {
     139                                ptr = (T*) (void *) resize( (int *)Resize, Align, Dim * size );
     140                        } else if (Realloc) {
     141                                if (Fill.tag != '0') copy_end = min(malloc_size( Realloc ), Dim * size);
     142                                ptr = (T*) (void *) realloc( (int *)Realloc, Align, Dim * size );
     143                        } else {
     144                                ptr = (T*) (void *) memalign( Align, Dim * size );
     145                        }
     146
     147                        if(Fill.tag == 'c') {
     148                                memset( (char *)ptr + copy_end, (int)Fill.fill.c, Dim * size - copy_end );
     149                        } else if(Fill.tag == 't') {
     150                                for ( int i = copy_end; i <= Dim * size - size ; i += size ) {
     151                                        memcpy( (char *)ptr + i, &Fill.fill.t, size );
     152                                }
     153                        } else if(Fill.tag == 'a') {
     154                                memcpy( (char *)ptr + copy_end, Fill.fill.a, min(Dim * size - copy_end, size * Fill.nmemb) );
     155                        }
     156
     157                        return ptr;
     158                } // $alloc_internal
     159*/
     160
     161typedef struct S_align                  { inline size_t;  } T_align;
     162typedef struct S_resize                 { inline void *;  }     T_resize;
     163
     164forall( dtype T ) {
     165        struct S_fill           { char tag; char c; size_t size; T * at; char t[50]; };
     166        struct S_realloc        { inline T *; };
     167}
     168
     169static inline T_align   ?`align   ( size_t a )  { return (T_align){a}; }
     170static inline T_resize  ?`resize  ( void * a )  { return (T_resize){a}; }
    116171static inline forall( dtype T | sized(T) ) {
    117         // Cforall safe general allocation, fill, resize, array
    118 
    119         T * alloc( void ) {
    120                 return malloc();
    121         } // alloc
    122 
    123         T * alloc( size_t dim ) {
    124                 return aalloc( dim );
    125         } // alloc
    126 
    127         forall( dtype S | sized(S) )
    128         T * alloc( S ptr[], size_t dim = 1 ) {                          // singleton/array resize
    129                 return resize( (T *)ptr, dim * sizeof(T) );             // CFA resize
    130         } // alloc
    131 
    132         T * alloc( T ptr[], size_t dim = 1, bool copy = true ) {
    133                 if ( copy ) {
    134                         return realloc( ptr, dim * sizeof(T) );         // CFA realloc
     172
     173        S_fill(T) ?`fill ( T t ) {
     174                S_fill(T) ret = { 't' };
     175                size_t size = sizeof(T);
     176                if(size > sizeof(ret.t)) { printf("ERROR: const object of size greater than 50 bytes given for dynamic memory fill\n"); exit(1); }
     177                memcpy( &ret.t, &t, size );
     178                return ret;
     179        }
     180        S_fill(T)               ?`fill ( char c )                               { return (S_fill(T)){ 'c', c }; }
     181        S_fill(T)               ?`fill ( T * a )                                { return (S_fill(T)){ 'T', '0', 0, a }; }
     182        S_fill(T)               ?`fill ( T a[], size_t nmemb )  { return (S_fill(T)){ 'a', '0', nmemb * sizeof(T), a }; }
     183
     184        S_realloc(T)    ?`realloc ( T * a )                             { return (S_realloc(T)){a}; }
     185
     186        T * $alloc_internal( void * Resize, T * Realloc, size_t Align, size_t Dim, S_fill(T) Fill) {
     187                T * ptr = NULL;
     188                size_t size = sizeof(T);
     189                size_t copy_end = 0;
     190
     191                if(Resize) {
     192                        ptr = (T*) (void *) resize( (int *)Resize, Align, Dim * size );
     193                } else if (Realloc) {
     194                        if (Fill.tag != '0') copy_end = min(malloc_size( Realloc ), Dim * size);
     195                        ptr = (T*) (void *) realloc( (int *)Realloc, Align, Dim * size );
    135196                } else {
    136                         return resize( ptr, dim * sizeof(T) );          // CFA resize
    137                 } // if
    138         } // alloc
    139 
    140         T * alloc_set( char fill ) {
    141                 return (T *)memset( (T *)alloc(), (int)fill, sizeof(T) ); // initialize with fill value
    142         } // alloc_set
    143 
    144         T * alloc_set( const T & fill ) {
    145                 return (T *)memcpy( (T *)alloc(), &fill, sizeof(T) ); // initialize with fill value
    146         } // alloc_set
    147 
    148         T * alloc_set( size_t dim, char fill ) {
    149                 return (T *)memset( (T *)alloc( dim ), (int)fill, dim * sizeof(T) ); // initialize with fill value
    150         } // alloc_set
    151 
    152         T * alloc_set( size_t dim, const T & fill ) {
    153                 T * r = (T *)alloc( dim );
    154                 for ( i; dim ) { memcpy( &r[i], &fill, sizeof(T) ); } // initialize with fill value
    155                 return r;
    156         } // alloc_set
    157 
    158         T * alloc_set( size_t dimNew, const T fill[], size_t dimOld ) {
    159                 return (T *)memcpy( (T *)alloc( dimNew ), fill, min( dimNew, dimOld ) * sizeof(T) ); // initialize with fill value
    160         } // alloc_set
    161 
    162         T * alloc_set( T ptr[], size_t dim, char fill ) {       // realloc array with fill
    163                 size_t osize = malloc_size( ptr );                              // current allocation
    164                 size_t nsize = dim * sizeof(T);                                 // new allocation
    165                 T * nptr = realloc( ptr, nsize );                               // CFA realloc
    166                 if ( nsize > osize ) {                                                  // larger ?
    167                         memset( (char *)nptr + osize, (int)fill, nsize - osize ); // initialize added storage
    168                 } // if
    169                 return nptr;
    170         } // alloc_set
    171 
    172         T * alloc_set( T ptr[], size_t dim, const T & fill ) {  // realloc array with fill
    173                 size_t odim = malloc_size( ptr ) / sizeof(T);   // current dimension
    174                 size_t nsize = dim * sizeof(T);                                 // new allocation
    175                 size_t ndim = nsize / sizeof(T);                                // new dimension
    176                 T * nptr = realloc( ptr, nsize );                               // CFA realloc
    177                 if ( ndim > odim ) {                                                    // larger ?
    178                         for ( i; odim ~ ndim ) {
    179                                 memcpy( &nptr[i], &fill, sizeof(T) );   // initialize with fill value
    180                         } // for
    181                 } // if
    182                 return nptr;
    183         } // alloc_set
    184 } // distribution
    185 
    186 static inline forall( dtype T | sized(T) ) {
    187         T * alloc_align( size_t align ) {
    188                 return (T *)memalign( align, sizeof(T) );
    189         } // alloc_align
    190 
    191         T * alloc_align( size_t align, size_t dim ) {
    192                 return (T *)memalign( align, dim * sizeof(T) );
    193         } // alloc_align
    194 
    195         T * alloc_align( T * ptr, size_t align ) {                      // aligned realloc array
    196                 return (T *)(void *)realloc( (void *)ptr, align, sizeof(T) ); // CFA C realloc
    197         } // alloc_align
    198 
    199         forall( dtype S | sized(S) )
    200         T * alloc_align( S ptr[], size_t align ) {                      // aligned reuse array
    201                 return (T *)(void *)resize( (void *)ptr, align, sizeof(T) ); // CFA realloc
    202         } // alloc_align
    203 
    204         T * alloc_align( T ptr[], size_t align, size_t dim ) { // aligned realloc array
    205                 return (T *)(void *)realloc( (void *)ptr, align, dim * sizeof(T) ); // CFA realloc
    206         } // alloc_align
    207 
    208         T * alloc_align_set( size_t align, char fill ) {
    209                 return (T *)memset( (T *)alloc_align( align ), (int)fill, sizeof(T) ); // initialize with fill value
    210         } // alloc_align_set
    211 
    212         T * alloc_align_set( size_t align, const T & fill ) {
    213                 return (T *)memcpy( (T *)alloc_align( align ), &fill, sizeof(T) ); // initialize with fill value
    214         } // alloc_align_set
    215 
    216         T * alloc_align_set( size_t align, size_t dim, char fill ) {
    217                 return (T *)memset( (T *)alloc_align( align, dim ), (int)fill, dim * sizeof(T) ); // initialize with fill value
    218         } // alloc_align_set
    219 
    220         T * alloc_align_set( size_t align, size_t dim, const T & fill ) {
    221                 T * r = (T *)alloc_align( align, dim );
    222                 for ( i; dim ) { memcpy( &r[i], &fill, sizeof(T) ); } // initialize with fill value
    223                 return r;
    224         } // alloc_align_set
    225 
    226         T * alloc_align_set( size_t align, size_t dimNew, const T fill[], size_t dimOld ) {
    227                 return (T *)memcpy( (T *)alloc_align( align, dimNew ), fill, min( dimNew, dimOld ) * sizeof(T) );
    228         } // alloc_align_set
    229 
    230         T * alloc_align_set( T ptr[], size_t align, size_t dim, char fill ) {
    231                 size_t osize = malloc_size( ptr );                              // current allocation
    232                 size_t nsize = dim * sizeof(T);                                 // new allocation
    233                 T * nptr = alloc_align( ptr, align, nsize );
    234                 if ( nsize > osize ) {                                                  // larger ?
    235                         memset( (char *)nptr + osize, (int)fill, nsize - osize ); // initialize added storage
    236                 } // if
    237                 return nptr;
    238         } // alloc_align_set
    239 
    240         T * alloc_align_set( T ptr[], size_t align, size_t dim, const T & fill ) {
    241                 size_t odim = malloc_size( ptr ) / sizeof(T);   // current dimension
    242                 size_t nsize = dim * sizeof(T);                                 // new allocation
    243                 size_t ndim = nsize / sizeof(T);                                // new dimension
    244                 T * nptr = alloc_align( ptr, align, nsize );
    245                 if ( ndim > odim ) {                                                    // larger ?
    246                         for ( i; odim ~ ndim ) {
    247                                 memcpy( &nptr[i], &fill, sizeof(T) );   // initialize with fill value
    248                         } // for
    249                 } // if
    250                 return nptr;
    251         } // alloc_align_set
    252 } // distribution
     197                        ptr = (T*) (void *) memalign( Align, Dim * size );
     198                }
     199
     200                if(Fill.tag == 'c') {
     201                        memset( (char *)ptr + copy_end, (int)Fill.c, Dim * size - copy_end );
     202                } else if(Fill.tag == 't') {
     203                        for ( int i = copy_end; i <= Dim * size - size ; i += size ) {
     204                                memcpy( (char *)ptr + i, &Fill.t, size );
     205                        }
     206                } else if(Fill.tag == 'a') {
     207                        memcpy( (char *)ptr + copy_end, Fill.at, min(Dim * size - copy_end, Fill.size) );
     208                } else if(Fill.tag == 'T') {
     209                        for ( int i = copy_end; i <= Dim * size - size ; i += size ) {
     210                                memcpy( (char *)ptr + i, Fill.at, size );
     211                        }
     212                }
     213
     214                return ptr;
     215        } // $alloc_internal
     216
     217        forall( ttype TT | { T * $alloc_internal( void *, T *, size_t, size_t, S_fill(T), TT ); } ) {
     218
     219                T * $alloc_internal( void *       , T * Realloc, size_t Align, size_t Dim, S_fill(T) Fill, T_resize Resize, TT rest) {
     220                return $alloc_internal( Resize, (T*)0p, Align, Dim, Fill, rest);
     221                }
     222
     223                T * $alloc_internal( void * Resize, T *        , size_t Align, size_t Dim, S_fill(T) Fill, S_realloc(T) Realloc, TT rest) {
     224                return $alloc_internal( (void*)0p, Realloc, Align, Dim, Fill, rest);
     225                }
     226
     227                T * $alloc_internal( void * Resize, T * Realloc, size_t      , size_t Dim, S_fill(T) Fill, T_align Align, TT rest) {
     228                return $alloc_internal( Resize, Realloc, Align, Dim, Fill, rest);
     229                }
     230
     231                T * $alloc_internal( void * Resize, T * Realloc, size_t Align, size_t Dim, S_fill(T)     , S_fill(T) Fill, TT rest) {
     232                return $alloc_internal( Resize, Realloc, Align, Dim, Fill, rest);
     233                }
     234
     235            T * alloc( TT all ) {
     236                return $alloc_internal( (void*)0p, (T*)0p, (_Alignof(T) > libAlign() ? _Alignof(T) : libAlign()), (size_t)1, (S_fill(T)){'0'}, all);
     237            }
     238
     239            T * alloc( size_t dim, TT all ) {
     240                return $alloc_internal( (void*)0p, (T*)0p, (_Alignof(T) > libAlign() ? _Alignof(T) : libAlign()), dim, (S_fill(T)){'0'}, all);
     241            }
     242
     243        } // distribution TT
     244
     245} // distribution T
    253246
    254247static inline forall( dtype T | sized(T) ) {
  • tests/.expect/bitmanip3.x86.txt

    r95472ee rf7fac4b  
    664664
    665665
    666 floor
    667 
    668 signed char
    669 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
    670 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
    671 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
    672 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
    673 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
    674 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
    675 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
    676 floor(-128, -128) = -128, floor(-126, -128) = 0, floor(126, -128) = 0
    677 
    678 unsigned char
    679 floor(1, 1) = 1, floor(3, 1) = 3, floor(253, 1) = 253
    680 floor(2, 2) = 2, floor(4, 2) = 4, floor(252, 2) = 252
    681 floor(4, 4) = 4, floor(6, 4) = 4, floor(250, 4) = 248
    682 floor(8, 8) = 8, floor(10, 8) = 8, floor(246, 8) = 240
    683 floor(16, 16) = 16, floor(18, 16) = 16, floor(238, 16) = 224
    684 floor(32, 32) = 32, floor(34, 32) = 32, floor(222, 32) = 192
    685 floor(64, 64) = 64, floor(66, 64) = 64, floor(190, 64) = 128
    686 floor(128, 128) = 128, floor(130, 128) = 128, floor(126, 128) = 0
    687 
    688 short int
    689 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
    690 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
    691 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
    692 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
    693 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
    694 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
    695 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
    696 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
    697 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
    698 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
    699 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
    700 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
    701 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
    702 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
    703 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
    704 floor(-32768, -32768) = -32768, floor(-32766, -32768) = 0, floor(32766, -32768) = 0
    705 
    706 unsigned short int
    707 floor(1, 1) = 1, floor(3, 1) = 3, floor(65533, 1) = 65533
    708 floor(2, 2) = 2, floor(4, 2) = 4, floor(65532, 2) = 65532
    709 floor(4, 4) = 4, floor(6, 4) = 4, floor(65530, 4) = 65528
    710 floor(8, 8) = 8, floor(10, 8) = 8, floor(65526, 8) = 65520
    711 floor(16, 16) = 16, floor(18, 16) = 16, floor(65518, 16) = 65504
    712 floor(32, 32) = 32, floor(34, 32) = 32, floor(65502, 32) = 65472
    713 floor(64, 64) = 64, floor(66, 64) = 64, floor(65470, 64) = 65408
    714 floor(128, 128) = 128, floor(130, 128) = 128, floor(65406, 128) = 65280
    715 floor(256, 256) = 256, floor(258, 256) = 256, floor(65278, 256) = 65024
    716 floor(512, 512) = 512, floor(514, 512) = 512, floor(65022, 512) = 64512
    717 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(64510, 1024) = 63488
    718 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(63486, 2048) = 61440
    719 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(61438, 4096) = 57344
    720 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(57342, 8192) = 49152
    721 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(49150, 16384) = 32768
    722 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(32766, 32768) = 0
    723 
    724 int
    725 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
    726 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
    727 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
    728 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
    729 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
    730 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
    731 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
    732 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
    733 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
    734 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
    735 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
    736 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
    737 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
    738 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
    739 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
    740 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768
    741 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536
    742 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072
    743 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144
    744 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288
    745 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576
    746 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152
    747 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304
    748 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608
    749 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216
    750 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432
    751 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864
    752 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728
    753 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456
    754 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912
    755 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824
    756 floor(-2147483648, -2147483648) = -2147483648, floor(-2147483646, -2147483648) = 0, floor(2147483646, -2147483648) = 0
    757 
    758 unsigned int
    759 floor(1, 1) = 1, floor(3, 1) = 3, floor(4294967293, 1) = 4294967293
    760 floor(2, 2) = 2, floor(4, 2) = 4, floor(4294967292, 2) = 4294967292
    761 floor(4, 4) = 4, floor(6, 4) = 4, floor(4294967290, 4) = 4294967288
    762 floor(8, 8) = 8, floor(10, 8) = 8, floor(4294967286, 8) = 4294967280
    763 floor(16, 16) = 16, floor(18, 16) = 16, floor(4294967278, 16) = 4294967264
    764 floor(32, 32) = 32, floor(34, 32) = 32, floor(4294967262, 32) = 4294967232
    765 floor(64, 64) = 64, floor(66, 64) = 64, floor(4294967230, 64) = 4294967168
    766 floor(128, 128) = 128, floor(130, 128) = 128, floor(4294967166, 128) = 4294967040
    767 floor(256, 256) = 256, floor(258, 256) = 256, floor(4294967038, 256) = 4294966784
    768 floor(512, 512) = 512, floor(514, 512) = 512, floor(4294966782, 512) = 4294966272
    769 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(4294966270, 1024) = 4294965248
    770 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(4294965246, 2048) = 4294963200
    771 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(4294963198, 4096) = 4294959104
    772 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(4294959102, 8192) = 4294950912
    773 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(4294950910, 16384) = 4294934528
    774 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(4294934526, 32768) = 4294901760
    775 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(4294901758, 65536) = 4294836224
    776 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(4294836222, 131072) = 4294705152
    777 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(4294705150, 262144) = 4294443008
    778 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(4294443006, 524288) = 4293918720
    779 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(4293918718, 1048576) = 4292870144
    780 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(4292870142, 2097152) = 4290772992
    781 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(4290772990, 4194304) = 4286578688
    782 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(4286578686, 8388608) = 4278190080
    783 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(4278190078, 16777216) = 4261412864
    784 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(4261412862, 33554432) = 4227858432
    785 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(4227858430, 67108864) = 4160749568
    786 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(4160749566, 134217728) = 4026531840
    787 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(4026531838, 268435456) = 3758096384
    788 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(3758096382, 536870912) = 3221225472
    789 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(3221225470, 1073741824) = 2147483648
    790 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(2147483646, 2147483648) = 0
    791 
    792 long int
    793 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
    794 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
    795 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
    796 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
    797 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
    798 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
    799 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
    800 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
    801 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
    802 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
    803 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
    804 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
    805 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
    806 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
    807 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
    808 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768
    809 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536
    810 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072
    811 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144
    812 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288
    813 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576
    814 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152
    815 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304
    816 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608
    817 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216
    818 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432
    819 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864
    820 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728
    821 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456
    822 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912
    823 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824
    824 floor(-2147483648, -2147483648) = -2147483648, floor(-2147483646, -2147483648) = 0, floor(2147483646, -2147483648) = 0
    825 
    826 unsigned long int
    827 floor(1, 1) = 1, floor(3, 1) = 3, floor(4294967293, 1) = 4294967293
    828 floor(2, 2) = 2, floor(4, 2) = 4, floor(4294967292, 2) = 4294967292
    829 floor(4, 4) = 4, floor(6, 4) = 4, floor(4294967290, 4) = 4294967288
    830 floor(8, 8) = 8, floor(10, 8) = 8, floor(4294967286, 8) = 4294967280
    831 floor(16, 16) = 16, floor(18, 16) = 16, floor(4294967278, 16) = 4294967264
    832 floor(32, 32) = 32, floor(34, 32) = 32, floor(4294967262, 32) = 4294967232
    833 floor(64, 64) = 64, floor(66, 64) = 64, floor(4294967230, 64) = 4294967168
    834 floor(128, 128) = 128, floor(130, 128) = 128, floor(4294967166, 128) = 4294967040
    835 floor(256, 256) = 256, floor(258, 256) = 256, floor(4294967038, 256) = 4294966784
    836 floor(512, 512) = 512, floor(514, 512) = 512, floor(4294966782, 512) = 4294966272
    837 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(4294966270, 1024) = 4294965248
    838 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(4294965246, 2048) = 4294963200
    839 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(4294963198, 4096) = 4294959104
    840 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(4294959102, 8192) = 4294950912
    841 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(4294950910, 16384) = 4294934528
    842 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(4294934526, 32768) = 4294901760
    843 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(4294901758, 65536) = 4294836224
    844 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(4294836222, 131072) = 4294705152
    845 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(4294705150, 262144) = 4294443008
    846 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(4294443006, 524288) = 4293918720
    847 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(4293918718, 1048576) = 4292870144
    848 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(4292870142, 2097152) = 4290772992
    849 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(4290772990, 4194304) = 4286578688
    850 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(4286578686, 8388608) = 4278190080
    851 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(4278190078, 16777216) = 4261412864
    852 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(4261412862, 33554432) = 4227858432
    853 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(4227858430, 67108864) = 4160749568
    854 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(4160749566, 134217728) = 4026531840
    855 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(4026531838, 268435456) = 3758096384
    856 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(3758096382, 536870912) = 3221225472
    857 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(3221225470, 1073741824) = 2147483648
    858 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(2147483646, 2147483648) = 0
    859 
    860 long long int
    861 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3
    862 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4
    863 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4
    864 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8
    865 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16
    866 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32
    867 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64
    868 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128
    869 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256
    870 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512
    871 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024
    872 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048
    873 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096
    874 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192
    875 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384
    876 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768
    877 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536
    878 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072
    879 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144
    880 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288
    881 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576
    882 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152
    883 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304
    884 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608
    885 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216
    886 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432
    887 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864
    888 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728
    889 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456
    890 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912
    891 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824
    892 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -2147483648
    893 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -4294967296
    894 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -8589934592
    895 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -17179869184
    896 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -34359738368
    897 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -68719476736
    898 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -137438953472
    899 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -274877906944
    900 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -549755813888
    901 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -1099511627776
    902 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -2199023255552
    903 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -4398046511104
    904 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -8796093022208
    905 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -17592186044416
    906 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -35184372088832
    907 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -70368744177664
    908 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -140737488355328
    909 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -281474976710656
    910 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -562949953421312
    911 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -1125899906842624
    912 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -2251799813685248
    913 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -4503599627370496
    914 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -9007199254740992
    915 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -18014398509481984
    916 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -36028797018963968
    917 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -72057594037927936
    918 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -144115188075855872
    919 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -288230376151711744
    920 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -576460752303423488
    921 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -1152921504606846976
    922 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -2305843009213693952
    923 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -4611686018427387904
    924 floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = 0, floor(9223372036854775806, -9223372036854775808) = 0
    925 
    926 unsigned long long int
    927 floor(1, 1) = 1, floor(3, 1) = 3, floor(18446744073709551613, 1) = 18446744073709551613
    928 floor(2, 2) = 2, floor(4, 2) = 4, floor(18446744073709551612, 2) = 18446744073709551612
    929 floor(4, 4) = 4, floor(6, 4) = 4, floor(18446744073709551610, 4) = 18446744073709551608
    930 floor(8, 8) = 8, floor(10, 8) = 8, floor(18446744073709551606, 8) = 18446744073709551600
    931 floor(16, 16) = 16, floor(18, 16) = 16, floor(18446744073709551598, 16) = 18446744073709551584
    932 floor(32, 32) = 32, floor(34, 32) = 32, floor(18446744073709551582, 32) = 18446744073709551552
    933 floor(64, 64) = 64, floor(66, 64) = 64, floor(18446744073709551550, 64) = 18446744073709551488
    934 floor(128, 128) = 128, floor(130, 128) = 128, floor(18446744073709551486, 128) = 18446744073709551360
    935 floor(256, 256) = 256, floor(258, 256) = 256, floor(18446744073709551358, 256) = 18446744073709551104
    936 floor(512, 512) = 512, floor(514, 512) = 512, floor(18446744073709551102, 512) = 18446744073709550592
    937 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(18446744073709550590, 1024) = 18446744073709549568
    938 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(18446744073709549566, 2048) = 18446744073709547520
    939 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(18446744073709547518, 4096) = 18446744073709543424
    940 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(18446744073709543422, 8192) = 18446744073709535232
    941 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(18446744073709535230, 16384) = 18446744073709518848
    942 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(18446744073709518846, 32768) = 18446744073709486080
    943 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(18446744073709486078, 65536) = 18446744073709420544
    944 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(18446744073709420542, 131072) = 18446744073709289472
    945 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(18446744073709289470, 262144) = 18446744073709027328
    946 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(18446744073709027326, 524288) = 18446744073708503040
    947 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(18446744073708503038, 1048576) = 18446744073707454464
    948 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(18446744073707454462, 2097152) = 18446744073705357312
    949 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(18446744073705357310, 4194304) = 18446744073701163008
    950 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(18446744073701163006, 8388608) = 18446744073692774400
    951 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(18446744073692774398, 16777216) = 18446744073675997184
    952 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(18446744073675997182, 33554432) = 18446744073642442752
    953 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(18446744073642442750, 67108864) = 18446744073575333888
    954 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(18446744073575333886, 134217728) = 18446744073441116160
    955 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(18446744073441116158, 268435456) = 18446744073172680704
    956 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(18446744073172680702, 536870912) = 18446744072635809792
    957 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(18446744072635809790, 1073741824) = 18446744071562067968
    958 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(18446744071562067966, 2147483648) = 18446744069414584320
    959 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(18446744069414584318, 4294967296) = 18446744065119617024
    960 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(18446744065119617022, 8589934592) = 18446744056529682432
    961 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(18446744056529682430, 17179869184) = 18446744039349813248
    962 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(18446744039349813246, 34359738368) = 18446744004990074880
    963 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(18446744004990074878, 68719476736) = 18446743936270598144
    964 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(18446743936270598142, 137438953472) = 18446743798831644672
    965 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(18446743798831644670, 274877906944) = 18446743523953737728
    966 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(18446743523953737726, 549755813888) = 18446742974197923840
    967 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(18446742974197923838, 1099511627776) = 18446741874686296064
    968 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(18446741874686296062, 2199023255552) = 18446739675663040512
    969 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(18446739675663040510, 4398046511104) = 18446735277616529408
    970 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(18446735277616529406, 8796093022208) = 18446726481523507200
    971 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(18446726481523507198, 17592186044416) = 18446708889337462784
    972 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(18446708889337462782, 35184372088832) = 18446673704965373952
    973 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(18446673704965373950, 70368744177664) = 18446603336221196288
    974 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(18446603336221196286, 140737488355328) = 18446462598732840960
    975 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(18446462598732840958, 281474976710656) = 18446181123756130304
    976 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(18446181123756130302, 562949953421312) = 18445618173802708992
    977 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(18445618173802708990, 1125899906842624) = 18444492273895866368
    978 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(18444492273895866366, 2251799813685248) = 18442240474082181120
    979 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(18442240474082181118, 4503599627370496) = 18437736874454810624
    980 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(18437736874454810622, 9007199254740992) = 18428729675200069632
    981 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(18428729675200069630, 18014398509481984) = 18410715276690587648
    982 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(18410715276690587646, 36028797018963968) = 18374686479671623680
    983 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(18374686479671623678, 72057594037927936) = 18302628885633695744
    984 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(18302628885633695742, 144115188075855872) = 18158513697557839872
    985 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(18158513697557839870, 288230376151711744) = 17870283321406128128
    986 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(17870283321406128126, 576460752303423488) = 17293822569102704640
    987 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(17293822569102704638, 1152921504606846976) = 16140901064495857664
    988 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(16140901064495857662, 2305843009213693952) = 13835058055282163712
    989 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(13835058055282163710, 4611686018427387904) = 9223372036854775808
    990 floor(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor(9223372036854775806, 9223372036854775808) = 0
    991 
    992 
    993666ceiling2
    994667
     
    1317990ceiling2(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling2(9223372036854775810, 9223372036854775808) = 0, ceiling2(9223372036854775806, 9223372036854775808) = 9223372036854775808
    1318991
    1319 
    1320 ceiling_div
    1321 
    1322 signed char
    1323 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3
    1324 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1
    1325 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0
    1326 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0
    1327 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0
    1328 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0
    1329 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0
    1330 ceiling_div(-128, -128) = 2, ceiling_div(-126, -128) = 1, ceiling_div(126, -128) = 0
    1331 
    1332 unsigned char
    1333 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(253, 1) = 253
    1334 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(252, 2) = 126
    1335 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(250, 4) = 63
    1336 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(246, 8) = 31
    1337 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(238, 16) = 15
    1338 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(222, 32) = 7
    1339 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(190, 64) = 3
    1340 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(126, 128) = 1
    1341 
    1342 short int
    1343 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3
    1344 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1
    1345 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0
    1346 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0
    1347 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0
    1348 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0
    1349 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0
    1350 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0
    1351 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0
    1352 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0
    1353 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0
    1354 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0
    1355 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0
    1356 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0
    1357 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0
    1358 ceiling_div(-32768, -32768) = 2, ceiling_div(-32766, -32768) = 1, ceiling_div(32766, -32768) = 0
    1359 
    1360 unsigned short int
    1361 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(65533, 1) = 65533
    1362 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(65532, 2) = 32766
    1363 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(65530, 4) = 16383
    1364 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(65526, 8) = 8191
    1365 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(65518, 16) = 4095
    1366 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(65502, 32) = 2047
    1367 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(65470, 64) = 1023
    1368 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(65406, 128) = 511
    1369 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(65278, 256) = 255
    1370 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(65022, 512) = 127
    1371 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(64510, 1024) = 63
    1372 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(63486, 2048) = 31
    1373 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(61438, 4096) = 15
    1374 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(57342, 8192) = 7
    1375 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(49150, 16384) = 3
    1376 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(32766, 32768) = 1
    1377 
    1378 int
    1379 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3
    1380 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1
    1381 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0
    1382 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0
    1383 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0
    1384 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0
    1385 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0
    1386 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0
    1387 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0
    1388 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0
    1389 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0
    1390 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0
    1391 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0
    1392 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0
    1393 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0
    1394 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0
    1395 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0
    1396 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0
    1397 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0
    1398 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0
    1399 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0
    1400 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0
    1401 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0
    1402 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0
    1403 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0
    1404 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0
    1405 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0
    1406 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0
    1407 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0
    1408 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0
    1409 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = -1, ceiling_div(-1073741826, 1073741824) = 0
    1410 ceiling_div(-2147483648, -2147483648) = 0, ceiling_div(-2147483646, -2147483648) = 0, ceiling_div(2147483646, -2147483648) = 0
    1411 
    1412 unsigned int
    1413 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(4294967293, 1) = 4294967293
    1414 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(4294967292, 2) = 2147483646
    1415 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(4294967290, 4) = 1073741823
    1416 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(4294967286, 8) = 536870911
    1417 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(4294967278, 16) = 268435455
    1418 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(4294967262, 32) = 134217727
    1419 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(4294967230, 64) = 67108863
    1420 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(4294967166, 128) = 33554431
    1421 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(4294967038, 256) = 16777215
    1422 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(4294966782, 512) = 8388607
    1423 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(4294966270, 1024) = 4194303
    1424 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(4294965246, 2048) = 2097151
    1425 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(4294963198, 4096) = 1048575
    1426 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(4294959102, 8192) = 524287
    1427 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(4294950910, 16384) = 262143
    1428 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(4294934526, 32768) = 131071
    1429 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(4294901758, 65536) = 65535
    1430 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(4294836222, 131072) = 32767
    1431 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(4294705150, 262144) = 16383
    1432 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(4294443006, 524288) = 8191
    1433 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(4293918718, 1048576) = 4095
    1434 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(4292870142, 2097152) = 2047
    1435 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(4290772990, 4194304) = 1023
    1436 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(4286578686, 8388608) = 511
    1437 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(4278190078, 16777216) = 255
    1438 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(4261412862, 33554432) = 127
    1439 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(4227858430, 67108864) = 63
    1440 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(4160749566, 134217728) = 31
    1441 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(4026531838, 268435456) = 15
    1442 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(3758096382, 536870912) = 7
    1443 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(3221225470, 1073741824) = 3
    1444 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 0, ceiling_div(2147483646, 2147483648) = 1
    1445 
    1446 long int
    1447 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3
    1448 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1
    1449 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0
    1450 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0
    1451 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0
    1452 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0
    1453 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0
    1454 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0
    1455 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0
    1456 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0
    1457 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0
    1458 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0
    1459 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0
    1460 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0
    1461 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0
    1462 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0
    1463 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0
    1464 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0
    1465 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0
    1466 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0
    1467 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0
    1468 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0
    1469 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0
    1470 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0
    1471 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0
    1472 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0
    1473 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0
    1474 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0
    1475 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0
    1476 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0
    1477 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = -1, ceiling_div(-1073741826, 1073741824) = 0
    1478 ceiling_div(-2147483648, -2147483648) = 0, ceiling_div(-2147483646, -2147483648) = 0, ceiling_div(2147483646, -2147483648) = 0
    1479 
    1480 unsigned long int
    1481 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(4294967293, 1) = 4294967293
    1482 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(4294967292, 2) = 2147483646
    1483 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(4294967290, 4) = 1073741823
    1484 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(4294967286, 8) = 536870911
    1485 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(4294967278, 16) = 268435455
    1486 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(4294967262, 32) = 134217727
    1487 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(4294967230, 64) = 67108863
    1488 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(4294967166, 128) = 33554431
    1489 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(4294967038, 256) = 16777215
    1490 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(4294966782, 512) = 8388607
    1491 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(4294966270, 1024) = 4194303
    1492 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(4294965246, 2048) = 2097151
    1493 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(4294963198, 4096) = 1048575
    1494 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(4294959102, 8192) = 524287
    1495 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(4294950910, 16384) = 262143
    1496 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(4294934526, 32768) = 131071
    1497 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(4294901758, 65536) = 65535
    1498 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(4294836222, 131072) = 32767
    1499 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(4294705150, 262144) = 16383
    1500 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(4294443006, 524288) = 8191
    1501 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(4293918718, 1048576) = 4095
    1502 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(4292870142, 2097152) = 2047
    1503 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(4290772990, 4194304) = 1023
    1504 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(4286578686, 8388608) = 511
    1505 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(4278190078, 16777216) = 255
    1506 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(4261412862, 33554432) = 127
    1507 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(4227858430, 67108864) = 63
    1508 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(4160749566, 134217728) = 31
    1509 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(4026531838, 268435456) = 15
    1510 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(3758096382, 536870912) = 7
    1511 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(3221225470, 1073741824) = 3
    1512 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 0, ceiling_div(2147483646, 2147483648) = 1
    1513 
    1514 long long int
    1515 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3
    1516 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1
    1517 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0
    1518 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0
    1519 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0
    1520 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0
    1521 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0
    1522 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0
    1523 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0
    1524 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0
    1525 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0
    1526 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0
    1527 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0
    1528 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0
    1529 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0
    1530 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0
    1531 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0
    1532 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0
    1533 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0
    1534 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0
    1535 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0
    1536 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0
    1537 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0
    1538 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0
    1539 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0
    1540 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0
    1541 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0
    1542 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0
    1543 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0
    1544 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0
    1545 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(-1073741826, 1073741824) = 0
    1546 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(-2147483650, 2147483648) = 0
    1547 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(-4294967298, 4294967296) = 0
    1548 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(-8589934594, 8589934592) = 0
    1549 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(-17179869186, 17179869184) = 0
    1550 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(-34359738370, 34359738368) = 0
    1551 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(-68719476738, 68719476736) = 0
    1552 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(-137438953474, 137438953472) = 0
    1553 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(-274877906946, 274877906944) = 0
    1554 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(-549755813890, 549755813888) = 0
    1555 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(-1099511627778, 1099511627776) = 0
    1556 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(-2199023255554, 2199023255552) = 0
    1557 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(-4398046511106, 4398046511104) = 0
    1558 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(-8796093022210, 8796093022208) = 0
    1559 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(-17592186044418, 17592186044416) = 0
    1560 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(-35184372088834, 35184372088832) = 0
    1561 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(-70368744177666, 70368744177664) = 0
    1562 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(-140737488355330, 140737488355328) = 0
    1563 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(-281474976710658, 281474976710656) = 0
    1564 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(-562949953421314, 562949953421312) = 0
    1565 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(-1125899906842626, 1125899906842624) = 0
    1566 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(-2251799813685250, 2251799813685248) = 0
    1567 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(-4503599627370498, 4503599627370496) = 0
    1568 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(-9007199254740994, 9007199254740992) = 0
    1569 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(-18014398509481986, 18014398509481984) = 0
    1570 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(-36028797018963970, 36028797018963968) = 0
    1571 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(-72057594037927938, 72057594037927936) = 0
    1572 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(-144115188075855874, 144115188075855872) = 0
    1573 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(-288230376151711746, 288230376151711744) = 0
    1574 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(-576460752303423490, 576460752303423488) = 0
    1575 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(-1152921504606846978, 1152921504606846976) = 0
    1576 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(-2305843009213693954, 2305843009213693952) = 0
    1577 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = -1, ceiling_div(-4611686018427387906, 4611686018427387904) = 0
    1578 ceiling_div(-9223372036854775808, -9223372036854775808) = 0, ceiling_div(-9223372036854775806, -9223372036854775808) = 0, ceiling_div(9223372036854775806, -9223372036854775808) = 0
    1579 
    1580 unsigned long long int
    1581 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(18446744073709551613, 1) = 18446744073709551613
    1582 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(18446744073709551612, 2) = 9223372036854775806
    1583 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(18446744073709551610, 4) = 4611686018427387903
    1584 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(18446744073709551606, 8) = 2305843009213693951
    1585 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(18446744073709551598, 16) = 1152921504606846975
    1586 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(18446744073709551582, 32) = 576460752303423487
    1587 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(18446744073709551550, 64) = 288230376151711743
    1588 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(18446744073709551486, 128) = 144115188075855871
    1589 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(18446744073709551358, 256) = 72057594037927935
    1590 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(18446744073709551102, 512) = 36028797018963967
    1591 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(18446744073709550590, 1024) = 18014398509481983
    1592 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(18446744073709549566, 2048) = 9007199254740991
    1593 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(18446744073709547518, 4096) = 4503599627370495
    1594 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(18446744073709543422, 8192) = 2251799813685247
    1595 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(18446744073709535230, 16384) = 1125899906842623
    1596 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(18446744073709518846, 32768) = 562949953421311
    1597 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(18446744073709486078, 65536) = 281474976710655
    1598 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(18446744073709420542, 131072) = 140737488355327
    1599 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(18446744073709289470, 262144) = 70368744177663
    1600 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(18446744073709027326, 524288) = 35184372088831
    1601 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(18446744073708503038, 1048576) = 17592186044415
    1602 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(18446744073707454462, 2097152) = 8796093022207
    1603 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(18446744073705357310, 4194304) = 4398046511103
    1604 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(18446744073701163006, 8388608) = 2199023255551
    1605 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(18446744073692774398, 16777216) = 1099511627775
    1606 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(18446744073675997182, 33554432) = 549755813887
    1607 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(18446744073642442750, 67108864) = 274877906943
    1608 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(18446744073575333886, 134217728) = 137438953471
    1609 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(18446744073441116158, 268435456) = 68719476735
    1610 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(18446744073172680702, 536870912) = 34359738367
    1611 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(18446744072635809790, 1073741824) = 17179869183
    1612 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(18446744071562067966, 2147483648) = 8589934591
    1613 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(18446744069414584318, 4294967296) = 4294967295
    1614 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(18446744065119617022, 8589934592) = 2147483647
    1615 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(18446744056529682430, 17179869184) = 1073741823
    1616 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(18446744039349813246, 34359738368) = 536870911
    1617 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(18446744004990074878, 68719476736) = 268435455
    1618 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(18446743936270598142, 137438953472) = 134217727
    1619 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(18446743798831644670, 274877906944) = 67108863
    1620 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(18446743523953737726, 549755813888) = 33554431
    1621 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(18446742974197923838, 1099511627776) = 16777215
    1622 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(18446741874686296062, 2199023255552) = 8388607
    1623 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(18446739675663040510, 4398046511104) = 4194303
    1624 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(18446735277616529406, 8796093022208) = 2097151
    1625 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(18446726481523507198, 17592186044416) = 1048575
    1626 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(18446708889337462782, 35184372088832) = 524287
    1627 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(18446673704965373950, 70368744177664) = 262143
    1628 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(18446603336221196286, 140737488355328) = 131071
    1629 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(18446462598732840958, 281474976710656) = 65535
    1630 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(18446181123756130302, 562949953421312) = 32767
    1631 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(18445618173802708990, 1125899906842624) = 16383
    1632 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(18444492273895866366, 2251799813685248) = 8191
    1633 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(18442240474082181118, 4503599627370496) = 4095
    1634 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(18437736874454810622, 9007199254740992) = 2047
    1635 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(18428729675200069630, 18014398509481984) = 1023
    1636 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(18410715276690587646, 36028797018963968) = 511
    1637 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(18374686479671623678, 72057594037927936) = 255
    1638 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(18302628885633695742, 144115188075855872) = 127
    1639 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(18158513697557839870, 288230376151711744) = 63
    1640 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(17870283321406128126, 576460752303423488) = 31
    1641 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(17293822569102704638, 1152921504606846976) = 15
    1642 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(16140901064495857662, 2305843009213693952) = 7
    1643 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = 2, ceiling_div(13835058055282163710, 4611686018427387904) = 3
    1644 ceiling_div(9223372036854775808, 9223372036854775808) = 1, ceiling_div(9223372036854775810, 9223372036854775808) = 0, ceiling_div(9223372036854775806, 9223372036854775808) = 1
    1645 
    1646 
    1647 ceiling
    1648 
    1649 signed char
    1650 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
    1651 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4
    1652 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0
    1653 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0
    1654 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0
    1655 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0
    1656 ceiling(64, 64) = 64, ceiling(66, 64) = -128, ceiling(-66, 64) = 0
    1657 ceiling(-128, -128) = -128, ceiling(-126, -128) = -128, ceiling(126, -128) = 0
    1658 
    1659 unsigned char
    1660 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(253, 1) = 253
    1661 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(252, 2) = 252
    1662 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(250, 4) = 252
    1663 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(246, 8) = 248
    1664 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(238, 16) = 240
    1665 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(222, 32) = 224
    1666 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(190, 64) = 192
    1667 ceiling(128, 128) = 128, ceiling(130, 128) = 0, ceiling(126, 128) = 128
    1668 
    1669 short int
    1670 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
    1671 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4
    1672 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0
    1673 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0
    1674 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0
    1675 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0
    1676 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0
    1677 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0
    1678 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0
    1679 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0
    1680 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0
    1681 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0
    1682 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0
    1683 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0
    1684 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = -32768, ceiling(-16386, 16384) = 0
    1685 ceiling(-32768, -32768) = -32768, ceiling(-32766, -32768) = -32768, ceiling(32766, -32768) = 0
    1686 
    1687 unsigned short int
    1688 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(65533, 1) = 65533
    1689 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(65532, 2) = 65532
    1690 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(65530, 4) = 65532
    1691 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(65526, 8) = 65528
    1692 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(65518, 16) = 65520
    1693 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(65502, 32) = 65504
    1694 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(65470, 64) = 65472
    1695 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(65406, 128) = 65408
    1696 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(65278, 256) = 65280
    1697 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(65022, 512) = 65024
    1698 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(64510, 1024) = 64512
    1699 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(63486, 2048) = 63488
    1700 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(61438, 4096) = 61440
    1701 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(57342, 8192) = 57344
    1702 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(49150, 16384) = 49152
    1703 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 0, ceiling(32766, 32768) = 32768
    1704 
    1705 int
    1706 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
    1707 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4
    1708 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0
    1709 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0
    1710 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0
    1711 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0
    1712 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0
    1713 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0
    1714 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0
    1715 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0
    1716 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0
    1717 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0
    1718 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0
    1719 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0
    1720 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0
    1721 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0
    1722 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0
    1723 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0
    1724 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0
    1725 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0
    1726 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0
    1727 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0
    1728 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0
    1729 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0
    1730 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0
    1731 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0
    1732 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0
    1733 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0
    1734 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0
    1735 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0
    1736 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = -1073741824, ceiling(-1073741826, 1073741824) = 0
    1737 ceiling(-2147483648, -2147483648) = -2147483648, ceiling(-2147483646, -2147483648) = 0, ceiling(2147483646, -2147483648) = 0
    1738 
    1739 unsigned int
    1740 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(4294967293, 1) = 4294967293
    1741 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(4294967292, 2) = 4294967292
    1742 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(4294967290, 4) = 4294967292
    1743 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(4294967286, 8) = 4294967288
    1744 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(4294967278, 16) = 4294967280
    1745 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(4294967262, 32) = 4294967264
    1746 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(4294967230, 64) = 4294967232
    1747 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(4294967166, 128) = 4294967168
    1748 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(4294967038, 256) = 4294967040
    1749 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(4294966782, 512) = 4294966784
    1750 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(4294966270, 1024) = 4294966272
    1751 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(4294965246, 2048) = 4294965248
    1752 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(4294963198, 4096) = 4294963200
    1753 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(4294959102, 8192) = 4294959104
    1754 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(4294950910, 16384) = 4294950912
    1755 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(4294934526, 32768) = 4294934528
    1756 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(4294901758, 65536) = 4294901760
    1757 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(4294836222, 131072) = 4294836224
    1758 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(4294705150, 262144) = 4294705152
    1759 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(4294443006, 524288) = 4294443008
    1760 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(4293918718, 1048576) = 4293918720
    1761 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(4292870142, 2097152) = 4292870144
    1762 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(4290772990, 4194304) = 4290772992
    1763 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(4286578686, 8388608) = 4286578688
    1764 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(4278190078, 16777216) = 4278190080
    1765 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(4261412862, 33554432) = 4261412864
    1766 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(4227858430, 67108864) = 4227858432
    1767 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(4160749566, 134217728) = 4160749568
    1768 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(4026531838, 268435456) = 4026531840
    1769 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(3758096382, 536870912) = 3758096384
    1770 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(3221225470, 1073741824) = 3221225472
    1771 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 0, ceiling(2147483646, 2147483648) = 2147483648
    1772 
    1773 long int
    1774 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
    1775 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4
    1776 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0
    1777 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0
    1778 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0
    1779 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0
    1780 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0
    1781 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0
    1782 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0
    1783 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0
    1784 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0
    1785 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0
    1786 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0
    1787 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0
    1788 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0
    1789 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0
    1790 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0
    1791 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0
    1792 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0
    1793 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0
    1794 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0
    1795 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0
    1796 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0
    1797 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0
    1798 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0
    1799 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0
    1800 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0
    1801 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0
    1802 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0
    1803 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0
    1804 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = -1073741824, ceiling(-1073741826, 1073741824) = 0
    1805 ceiling(-2147483648, -2147483648) = -2147483648, ceiling(-2147483646, -2147483648) = 0, ceiling(2147483646, -2147483648) = 0
    1806 
    1807 unsigned long int
    1808 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(4294967293, 1) = 4294967293
    1809 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(4294967292, 2) = 4294967292
    1810 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(4294967290, 4) = 4294967292
    1811 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(4294967286, 8) = 4294967288
    1812 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(4294967278, 16) = 4294967280
    1813 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(4294967262, 32) = 4294967264
    1814 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(4294967230, 64) = 4294967232
    1815 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(4294967166, 128) = 4294967168
    1816 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(4294967038, 256) = 4294967040
    1817 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(4294966782, 512) = 4294966784
    1818 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(4294966270, 1024) = 4294966272
    1819 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(4294965246, 2048) = 4294965248
    1820 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(4294963198, 4096) = 4294963200
    1821 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(4294959102, 8192) = 4294959104
    1822 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(4294950910, 16384) = 4294950912
    1823 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(4294934526, 32768) = 4294934528
    1824 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(4294901758, 65536) = 4294901760
    1825 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(4294836222, 131072) = 4294836224
    1826 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(4294705150, 262144) = 4294705152
    1827 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(4294443006, 524288) = 4294443008
    1828 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(4293918718, 1048576) = 4293918720
    1829 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(4292870142, 2097152) = 4292870144
    1830 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(4290772990, 4194304) = 4290772992
    1831 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(4286578686, 8388608) = 4286578688
    1832 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(4278190078, 16777216) = 4278190080
    1833 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(4261412862, 33554432) = 4261412864
    1834 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(4227858430, 67108864) = 4227858432
    1835 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(4160749566, 134217728) = 4160749568
    1836 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(4026531838, 268435456) = 4026531840
    1837 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(3758096382, 536870912) = 3758096384
    1838 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(3221225470, 1073741824) = 3221225472
    1839 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 0, ceiling(2147483646, 2147483648) = 2147483648
    1840 
    1841 long long int
    1842 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3
    1843 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4
    1844 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0
    1845 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0
    1846 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0
    1847 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0
    1848 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0
    1849 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0
    1850 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0
    1851 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0
    1852 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0
    1853 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0
    1854 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0
    1855 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0
    1856 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0
    1857 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0
    1858 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0
    1859 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0
    1860 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0
    1861 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0
    1862 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0
    1863 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0
    1864 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0
    1865 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0
    1866 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0
    1867 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0
    1868 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0
    1869 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0
    1870 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0
    1871 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0
    1872 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(-1073741826, 1073741824) = 0
    1873 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(-2147483650, 2147483648) = 0
    1874 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(-4294967298, 4294967296) = 0
    1875 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(-8589934594, 8589934592) = 0
    1876 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(-17179869186, 17179869184) = 0
    1877 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(-34359738370, 34359738368) = 0
    1878 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(-68719476738, 68719476736) = 0
    1879 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(-137438953474, 137438953472) = 0
    1880 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(-274877906946, 274877906944) = 0
    1881 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(-549755813890, 549755813888) = 0
    1882 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(-1099511627778, 1099511627776) = 0
    1883 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(-2199023255554, 2199023255552) = 0
    1884 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(-4398046511106, 4398046511104) = 0
    1885 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(-8796093022210, 8796093022208) = 0
    1886 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(-17592186044418, 17592186044416) = 0
    1887 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(-35184372088834, 35184372088832) = 0
    1888 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(-70368744177666, 70368744177664) = 0
    1889 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(-140737488355330, 140737488355328) = 0
    1890 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(-281474976710658, 281474976710656) = 0
    1891 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(-562949953421314, 562949953421312) = 0
    1892 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(-1125899906842626, 1125899906842624) = 0
    1893 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(-2251799813685250, 2251799813685248) = 0
    1894 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(-4503599627370498, 4503599627370496) = 0
    1895 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(-9007199254740994, 9007199254740992) = 0
    1896 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(-18014398509481986, 18014398509481984) = 0
    1897 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(-36028797018963970, 36028797018963968) = 0
    1898 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(-72057594037927938, 72057594037927936) = 0
    1899 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(-144115188075855874, 144115188075855872) = 0
    1900 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(-288230376151711746, 288230376151711744) = 0
    1901 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(-576460752303423490, 576460752303423488) = 0
    1902 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(-1152921504606846978, 1152921504606846976) = 0
    1903 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(-2305843009213693954, 2305843009213693952) = 0
    1904 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = -4611686018427387904, ceiling(-4611686018427387906, 4611686018427387904) = 0
    1905 ceiling(-9223372036854775808, -9223372036854775808) = -9223372036854775808, ceiling(-9223372036854775806, -9223372036854775808) = 0, ceiling(9223372036854775806, -9223372036854775808) = 0
    1906 
    1907 unsigned long long int
    1908 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(18446744073709551613, 1) = 18446744073709551613
    1909 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(18446744073709551612, 2) = 18446744073709551612
    1910 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(18446744073709551610, 4) = 18446744073709551612
    1911 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(18446744073709551606, 8) = 18446744073709551608
    1912 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(18446744073709551598, 16) = 18446744073709551600
    1913 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(18446744073709551582, 32) = 18446744073709551584
    1914 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(18446744073709551550, 64) = 18446744073709551552
    1915 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(18446744073709551486, 128) = 18446744073709551488
    1916 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(18446744073709551358, 256) = 18446744073709551360
    1917 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(18446744073709551102, 512) = 18446744073709551104
    1918 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(18446744073709550590, 1024) = 18446744073709550592
    1919 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(18446744073709549566, 2048) = 18446744073709549568
    1920 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(18446744073709547518, 4096) = 18446744073709547520
    1921 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(18446744073709543422, 8192) = 18446744073709543424
    1922 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(18446744073709535230, 16384) = 18446744073709535232
    1923 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(18446744073709518846, 32768) = 18446744073709518848
    1924 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(18446744073709486078, 65536) = 18446744073709486080
    1925 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(18446744073709420542, 131072) = 18446744073709420544
    1926 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(18446744073709289470, 262144) = 18446744073709289472
    1927 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(18446744073709027326, 524288) = 18446744073709027328
    1928 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(18446744073708503038, 1048576) = 18446744073708503040
    1929 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(18446744073707454462, 2097152) = 18446744073707454464
    1930 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(18446744073705357310, 4194304) = 18446744073705357312
    1931 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(18446744073701163006, 8388608) = 18446744073701163008
    1932 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(18446744073692774398, 16777216) = 18446744073692774400
    1933 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(18446744073675997182, 33554432) = 18446744073675997184
    1934 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(18446744073642442750, 67108864) = 18446744073642442752
    1935 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(18446744073575333886, 134217728) = 18446744073575333888
    1936 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(18446744073441116158, 268435456) = 18446744073441116160
    1937 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(18446744073172680702, 536870912) = 18446744073172680704
    1938 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(18446744072635809790, 1073741824) = 18446744072635809792
    1939 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(18446744071562067966, 2147483648) = 18446744071562067968
    1940 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(18446744069414584318, 4294967296) = 18446744069414584320
    1941 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(18446744065119617022, 8589934592) = 18446744065119617024
    1942 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(18446744056529682430, 17179869184) = 18446744056529682432
    1943 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(18446744039349813246, 34359738368) = 18446744039349813248
    1944 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(18446744004990074878, 68719476736) = 18446744004990074880
    1945 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(18446743936270598142, 137438953472) = 18446743936270598144
    1946 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(18446743798831644670, 274877906944) = 18446743798831644672
    1947 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(18446743523953737726, 549755813888) = 18446743523953737728
    1948 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(18446742974197923838, 1099511627776) = 18446742974197923840
    1949 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(18446741874686296062, 2199023255552) = 18446741874686296064
    1950 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(18446739675663040510, 4398046511104) = 18446739675663040512
    1951 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(18446735277616529406, 8796093022208) = 18446735277616529408
    1952 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(18446726481523507198, 17592186044416) = 18446726481523507200
    1953 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(18446708889337462782, 35184372088832) = 18446708889337462784
    1954 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(18446673704965373950, 70368744177664) = 18446673704965373952
    1955 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(18446603336221196286, 140737488355328) = 18446603336221196288
    1956 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(18446462598732840958, 281474976710656) = 18446462598732840960
    1957 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(18446181123756130302, 562949953421312) = 18446181123756130304
    1958 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(18445618173802708990, 1125899906842624) = 18445618173802708992
    1959 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(18444492273895866366, 2251799813685248) = 18444492273895866368
    1960 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(18442240474082181118, 4503599627370496) = 18442240474082181120
    1961 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(18437736874454810622, 9007199254740992) = 18437736874454810624
    1962 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(18428729675200069630, 18014398509481984) = 18428729675200069632
    1963 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(18410715276690587646, 36028797018963968) = 18410715276690587648
    1964 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(18374686479671623678, 72057594037927936) = 18374686479671623680
    1965 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(18302628885633695742, 144115188075855872) = 18302628885633695744
    1966 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(18158513697557839870, 288230376151711744) = 18158513697557839872
    1967 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(17870283321406128126, 576460752303423488) = 17870283321406128128
    1968 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(17293822569102704638, 1152921504606846976) = 17293822569102704640
    1969 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(16140901064495857662, 2305843009213693952) = 16140901064495857664
    1970 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = 9223372036854775808, ceiling(13835058055282163710, 4611686018427387904) = 13835058055282163712
    1971 ceiling(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling(9223372036854775810, 9223372036854775808) = 0, ceiling(9223372036854775806, 9223372036854775808) = 9223372036854775808
    1972 
  • tests/.expect/math4.txt

    r95472ee rf7fac4b  
    158158floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912
    159159floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824
    160 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -2147483648
    161 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -4294967296
    162 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -8589934592
    163 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -17179869184
    164 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -34359738368
    165 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -68719476736
    166 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -137438953472
    167 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -274877906944
    168 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -549755813888
    169 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -1099511627776
    170 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -2199023255552
    171 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -4398046511104
    172 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -8796093022208
    173 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -17592186044416
    174 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -35184372088832
    175 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -70368744177664
    176 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -140737488355328
    177 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -281474976710656
    178 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -562949953421312
    179 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -1125899906842624
    180 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -2251799813685248
    181 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -4503599627370496
    182 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -9007199254740992
    183 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -18014398509481984
    184 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -36028797018963968
    185 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -72057594037927936
    186 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -144115188075855872
    187 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -288230376151711744
    188 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -576460752303423488
    189 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -1152921504606846976
    190 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -2305843009213693952
    191 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -4611686018427387904
    192 floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = 0, floor(9223372036854775806, -9223372036854775808) = 0
     160floor(-2147483648, -2147483648) = -2147483648, floor(-2147483646, -2147483648) = 0, floor(2147483646, -2147483648) = 0
    193161
    194162unsigned long int
    195 floor(1, 1) = 1, floor(3, 1) = 3, floor(18446744073709551613, 1) = 18446744073709551613
    196 floor(2, 2) = 2, floor(4, 2) = 4, floor(18446744073709551612, 2) = 18446744073709551612
    197 floor(4, 4) = 4, floor(6, 4) = 4, floor(18446744073709551610, 4) = 18446744073709551608
    198 floor(8, 8) = 8, floor(10, 8) = 8, floor(18446744073709551606, 8) = 18446744073709551600
    199 floor(16, 16) = 16, floor(18, 16) = 16, floor(18446744073709551598, 16) = 18446744073709551584
    200 floor(32, 32) = 32, floor(34, 32) = 32, floor(18446744073709551582, 32) = 18446744073709551552
    201 floor(64, 64) = 64, floor(66, 64) = 64, floor(18446744073709551550, 64) = 18446744073709551488
    202 floor(128, 128) = 128, floor(130, 128) = 128, floor(18446744073709551486, 128) = 18446744073709551360
    203 floor(256, 256) = 256, floor(258, 256) = 256, floor(18446744073709551358, 256) = 18446744073709551104
    204 floor(512, 512) = 512, floor(514, 512) = 512, floor(18446744073709551102, 512) = 18446744073709550592
    205 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(18446744073709550590, 1024) = 18446744073709549568
    206 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(18446744073709549566, 2048) = 18446744073709547520
    207 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(18446744073709547518, 4096) = 18446744073709543424
    208 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(18446744073709543422, 8192) = 18446744073709535232
    209 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(18446744073709535230, 16384) = 18446744073709518848
    210 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(18446744073709518846, 32768) = 18446744073709486080
    211 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(18446744073709486078, 65536) = 18446744073709420544
    212 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(18446744073709420542, 131072) = 18446744073709289472
    213 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(18446744073709289470, 262144) = 18446744073709027328
    214 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(18446744073709027326, 524288) = 18446744073708503040
    215 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(18446744073708503038, 1048576) = 18446744073707454464
    216 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(18446744073707454462, 2097152) = 18446744073705357312
    217 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(18446744073705357310, 4194304) = 18446744073701163008
    218 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(18446744073701163006, 8388608) = 18446744073692774400
    219 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(18446744073692774398, 16777216) = 18446744073675997184
    220 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(18446744073675997182, 33554432) = 18446744073642442752
    221 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(18446744073642442750, 67108864) = 18446744073575333888
    222 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(18446744073575333886, 134217728) = 18446744073441116160
    223 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(18446744073441116158, 268435456) = 18446744073172680704
    224 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(18446744073172680702, 536870912) = 18446744072635809792
    225 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(18446744072635809790, 1073741824) = 18446744071562067968
    226 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(18446744071562067966, 2147483648) = 18446744069414584320
    227 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(18446744069414584318, 4294967296) = 18446744065119617024
    228 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(18446744065119617022, 8589934592) = 18446744056529682432
    229 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(18446744056529682430, 17179869184) = 18446744039349813248
    230 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(18446744039349813246, 34359738368) = 18446744004990074880
    231 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(18446744004990074878, 68719476736) = 18446743936270598144
    232 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(18446743936270598142, 137438953472) = 18446743798831644672
    233 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(18446743798831644670, 274877906944) = 18446743523953737728
    234 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(18446743523953737726, 549755813888) = 18446742974197923840
    235 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(18446742974197923838, 1099511627776) = 18446741874686296064
    236 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(18446741874686296062, 2199023255552) = 18446739675663040512
    237 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(18446739675663040510, 4398046511104) = 18446735277616529408
    238 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(18446735277616529406, 8796093022208) = 18446726481523507200
    239 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(18446726481523507198, 17592186044416) = 18446708889337462784
    240 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(18446708889337462782, 35184372088832) = 18446673704965373952
    241 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(18446673704965373950, 70368744177664) = 18446603336221196288
    242 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(18446603336221196286, 140737488355328) = 18446462598732840960
    243 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(18446462598732840958, 281474976710656) = 18446181123756130304
    244 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(18446181123756130302, 562949953421312) = 18445618173802708992
    245 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(18445618173802708990, 1125899906842624) = 18444492273895866368
    246 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(18444492273895866366, 2251799813685248) = 18442240474082181120
    247 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(18442240474082181118, 4503599627370496) = 18437736874454810624
    248 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(18437736874454810622, 9007199254740992) = 18428729675200069632
    249 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(18428729675200069630, 18014398509481984) = 18410715276690587648
    250 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(18410715276690587646, 36028797018963968) = 18374686479671623680
    251 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(18374686479671623678, 72057594037927936) = 18302628885633695744
    252 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(18302628885633695742, 144115188075855872) = 18158513697557839872
    253 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(18158513697557839870, 288230376151711744) = 17870283321406128128
    254 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(17870283321406128126, 576460752303423488) = 17293822569102704640
    255 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(17293822569102704638, 1152921504606846976) = 16140901064495857664
    256 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(16140901064495857662, 2305843009213693952) = 13835058055282163712
    257 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(13835058055282163710, 4611686018427387904) = 9223372036854775808
    258 floor(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor(9223372036854775806, 9223372036854775808) = 0
     163floor(1, 1) = 1, floor(3, 1) = 3, floor(4294967293, 1) = 4294967293
     164floor(2, 2) = 2, floor(4, 2) = 4, floor(4294967292, 2) = 4294967292
     165floor(4, 4) = 4, floor(6, 4) = 4, floor(4294967290, 4) = 4294967288
     166floor(8, 8) = 8, floor(10, 8) = 8, floor(4294967286, 8) = 4294967280
     167floor(16, 16) = 16, floor(18, 16) = 16, floor(4294967278, 16) = 4294967264
     168floor(32, 32) = 32, floor(34, 32) = 32, floor(4294967262, 32) = 4294967232
     169floor(64, 64) = 64, floor(66, 64) = 64, floor(4294967230, 64) = 4294967168
     170floor(128, 128) = 128, floor(130, 128) = 128, floor(4294967166, 128) = 4294967040
     171floor(256, 256) = 256, floor(258, 256) = 256, floor(4294967038, 256) = 4294966784
     172floor(512, 512) = 512, floor(514, 512) = 512, floor(4294966782, 512) = 4294966272
     173floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(4294966270, 1024) = 4294965248
     174floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(4294965246, 2048) = 4294963200
     175floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(4294963198, 4096) = 4294959104
     176floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(4294959102, 8192) = 4294950912
     177floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(4294950910, 16384) = 4294934528
     178floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(4294934526, 32768) = 4294901760
     179floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(4294901758, 65536) = 4294836224
     180floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(4294836222, 131072) = 4294705152
     181floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(4294705150, 262144) = 4294443008
     182floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(4294443006, 524288) = 4293918720
     183floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(4293918718, 1048576) = 4292870144
     184floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(4292870142, 2097152) = 4290772992
     185floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(4290772990, 4194304) = 4286578688
     186floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(4286578686, 8388608) = 4278190080
     187floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(4278190078, 16777216) = 4261412864
     188floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(4261412862, 33554432) = 4227858432
     189floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(4227858430, 67108864) = 4160749568
     190floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(4160749566, 134217728) = 4026531840
     191floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(4026531838, 268435456) = 3758096384
     192floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(3758096382, 536870912) = 3221225472
     193floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(3221225470, 1073741824) = 2147483648
     194floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(2147483646, 2147483648) = 0
    259195
    260196long long int
     
    548484ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0
    549485ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0
    550 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(-1073741826, 1073741824) = 0
    551 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(-2147483650, 2147483648) = 0
    552 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(-4294967298, 4294967296) = 0
    553 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(-8589934594, 8589934592) = 0
    554 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(-17179869186, 17179869184) = 0
    555 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(-34359738370, 34359738368) = 0
    556 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(-68719476738, 68719476736) = 0
    557 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(-137438953474, 137438953472) = 0
    558 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(-274877906946, 274877906944) = 0
    559 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(-549755813890, 549755813888) = 0
    560 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(-1099511627778, 1099511627776) = 0
    561 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(-2199023255554, 2199023255552) = 0
    562 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(-4398046511106, 4398046511104) = 0
    563 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(-8796093022210, 8796093022208) = 0
    564 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(-17592186044418, 17592186044416) = 0
    565 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(-35184372088834, 35184372088832) = 0
    566 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(-70368744177666, 70368744177664) = 0
    567 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(-140737488355330, 140737488355328) = 0
    568 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(-281474976710658, 281474976710656) = 0
    569 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(-562949953421314, 562949953421312) = 0
    570 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(-1125899906842626, 1125899906842624) = 0
    571 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(-2251799813685250, 2251799813685248) = 0
    572 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(-4503599627370498, 4503599627370496) = 0
    573 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(-9007199254740994, 9007199254740992) = 0
    574 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(-18014398509481986, 18014398509481984) = 0
    575 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(-36028797018963970, 36028797018963968) = 0
    576 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(-72057594037927938, 72057594037927936) = 0
    577 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(-144115188075855874, 144115188075855872) = 0
    578 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(-288230376151711746, 288230376151711744) = 0
    579 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(-576460752303423490, 576460752303423488) = 0
    580 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(-1152921504606846978, 1152921504606846976) = 0
    581 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(-2305843009213693954, 2305843009213693952) = 0
    582 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = -1, ceiling_div(-4611686018427387906, 4611686018427387904) = 0
    583 ceiling_div(-9223372036854775808, -9223372036854775808) = 0, ceiling_div(-9223372036854775806, -9223372036854775808) = 0, ceiling_div(9223372036854775806, -9223372036854775808) = 0
     486ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = -1, ceiling_div(-1073741826, 1073741824) = 0
     487ceiling_div(-2147483648, -2147483648) = 0, ceiling_div(-2147483646, -2147483648) = 0, ceiling_div(2147483646, -2147483648) = 0
    584488
    585489unsigned long int
    586 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(18446744073709551613, 1) = 18446744073709551613
    587 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(18446744073709551612, 2) = 9223372036854775806
    588 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(18446744073709551610, 4) = 4611686018427387903
    589 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(18446744073709551606, 8) = 2305843009213693951
    590 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(18446744073709551598, 16) = 1152921504606846975
    591 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(18446744073709551582, 32) = 576460752303423487
    592 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(18446744073709551550, 64) = 288230376151711743
    593 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(18446744073709551486, 128) = 144115188075855871
    594 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(18446744073709551358, 256) = 72057594037927935
    595 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(18446744073709551102, 512) = 36028797018963967
    596 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(18446744073709550590, 1024) = 18014398509481983
    597 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(18446744073709549566, 2048) = 9007199254740991
    598 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(18446744073709547518, 4096) = 4503599627370495
    599 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(18446744073709543422, 8192) = 2251799813685247
    600 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(18446744073709535230, 16384) = 1125899906842623
    601 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(18446744073709518846, 32768) = 562949953421311
    602 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(18446744073709486078, 65536) = 281474976710655
    603 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(18446744073709420542, 131072) = 140737488355327
    604 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(18446744073709289470, 262144) = 70368744177663
    605 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(18446744073709027326, 524288) = 35184372088831
    606 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(18446744073708503038, 1048576) = 17592186044415
    607 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(18446744073707454462, 2097152) = 8796093022207
    608 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(18446744073705357310, 4194304) = 4398046511103
    609 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(18446744073701163006, 8388608) = 2199023255551
    610 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(18446744073692774398, 16777216) = 1099511627775
    611 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(18446744073675997182, 33554432) = 549755813887
    612 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(18446744073642442750, 67108864) = 274877906943
    613 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(18446744073575333886, 134217728) = 137438953471
    614 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(18446744073441116158, 268435456) = 68719476735
    615 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(18446744073172680702, 536870912) = 34359738367
    616 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(18446744072635809790, 1073741824) = 17179869183
    617 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(18446744071562067966, 2147483648) = 8589934591
    618 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(18446744069414584318, 4294967296) = 4294967295
    619 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(18446744065119617022, 8589934592) = 2147483647
    620 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(18446744056529682430, 17179869184) = 1073741823
    621 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(18446744039349813246, 34359738368) = 536870911
    622 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(18446744004990074878, 68719476736) = 268435455
    623 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(18446743936270598142, 137438953472) = 134217727
    624 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(18446743798831644670, 274877906944) = 67108863
    625 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(18446743523953737726, 549755813888) = 33554431
    626 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(18446742974197923838, 1099511627776) = 16777215
    627 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(18446741874686296062, 2199023255552) = 8388607
    628 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(18446739675663040510, 4398046511104) = 4194303
    629 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(18446735277616529406, 8796093022208) = 2097151
    630 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(18446726481523507198, 17592186044416) = 1048575
    631 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(18446708889337462782, 35184372088832) = 524287
    632 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(18446673704965373950, 70368744177664) = 262143
    633 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(18446603336221196286, 140737488355328) = 131071
    634 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(18446462598732840958, 281474976710656) = 65535
    635 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(18446181123756130302, 562949953421312) = 32767
    636 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(18445618173802708990, 1125899906842624) = 16383
    637 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(18444492273895866366, 2251799813685248) = 8191
    638 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(18442240474082181118, 4503599627370496) = 4095
    639 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(18437736874454810622, 9007199254740992) = 2047
    640 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(18428729675200069630, 18014398509481984) = 1023
    641 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(18410715276690587646, 36028797018963968) = 511
    642 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(18374686479671623678, 72057594037927936) = 255
    643 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(18302628885633695742, 144115188075855872) = 127
    644 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(18158513697557839870, 288230376151711744) = 63
    645 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(17870283321406128126, 576460752303423488) = 31
    646 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(17293822569102704638, 1152921504606846976) = 15
    647 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(16140901064495857662, 2305843009213693952) = 7
    648 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = 2, ceiling_div(13835058055282163710, 4611686018427387904) = 3
    649 ceiling_div(9223372036854775808, 9223372036854775808) = 1, ceiling_div(9223372036854775810, 9223372036854775808) = 0, ceiling_div(9223372036854775806, 9223372036854775808) = 1
     490ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(4294967293, 1) = 4294967293
     491ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(4294967292, 2) = 2147483646
     492ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(4294967290, 4) = 1073741823
     493ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(4294967286, 8) = 536870911
     494ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(4294967278, 16) = 268435455
     495ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(4294967262, 32) = 134217727
     496ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(4294967230, 64) = 67108863
     497ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(4294967166, 128) = 33554431
     498ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(4294967038, 256) = 16777215
     499ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(4294966782, 512) = 8388607
     500ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(4294966270, 1024) = 4194303
     501ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(4294965246, 2048) = 2097151
     502ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(4294963198, 4096) = 1048575
     503ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(4294959102, 8192) = 524287
     504ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(4294950910, 16384) = 262143
     505ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(4294934526, 32768) = 131071
     506ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(4294901758, 65536) = 65535
     507ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(4294836222, 131072) = 32767
     508ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(4294705150, 262144) = 16383
     509ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(4294443006, 524288) = 8191
     510ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(4293918718, 1048576) = 4095
     511ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(4292870142, 2097152) = 2047
     512ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(4290772990, 4194304) = 1023
     513ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(4286578686, 8388608) = 511
     514ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(4278190078, 16777216) = 255
     515ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(4261412862, 33554432) = 127
     516ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(4227858430, 67108864) = 63
     517ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(4160749566, 134217728) = 31
     518ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(4026531838, 268435456) = 15
     519ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(3758096382, 536870912) = 7
     520ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(3221225470, 1073741824) = 3
     521ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 0, ceiling_div(2147483646, 2147483648) = 1
    650522
    651523long long int
     
    939811ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0
    940812ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0
    941 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(-1073741826, 1073741824) = 0
    942 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(-2147483650, 2147483648) = 0
    943 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(-4294967298, 4294967296) = 0
    944 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(-8589934594, 8589934592) = 0
    945 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(-17179869186, 17179869184) = 0
    946 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(-34359738370, 34359738368) = 0
    947 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(-68719476738, 68719476736) = 0
    948 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(-137438953474, 137438953472) = 0
    949 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(-274877906946, 274877906944) = 0
    950 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(-549755813890, 549755813888) = 0
    951 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(-1099511627778, 1099511627776) = 0
    952 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(-2199023255554, 2199023255552) = 0
    953 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(-4398046511106, 4398046511104) = 0
    954 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(-8796093022210, 8796093022208) = 0
    955 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(-17592186044418, 17592186044416) = 0
    956 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(-35184372088834, 35184372088832) = 0
    957 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(-70368744177666, 70368744177664) = 0
    958 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(-140737488355330, 140737488355328) = 0
    959 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(-281474976710658, 281474976710656) = 0
    960 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(-562949953421314, 562949953421312) = 0
    961 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(-1125899906842626, 1125899906842624) = 0
    962 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(-2251799813685250, 2251799813685248) = 0
    963 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(-4503599627370498, 4503599627370496) = 0
    964 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(-9007199254740994, 9007199254740992) = 0
    965 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(-18014398509481986, 18014398509481984) = 0
    966 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(-36028797018963970, 36028797018963968) = 0
    967 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(-72057594037927938, 72057594037927936) = 0
    968 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(-144115188075855874, 144115188075855872) = 0
    969 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(-288230376151711746, 288230376151711744) = 0
    970 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(-576460752303423490, 576460752303423488) = 0
    971 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(-1152921504606846978, 1152921504606846976) = 0
    972 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(-2305843009213693954, 2305843009213693952) = 0
    973 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = -4611686018427387904, ceiling(-4611686018427387906, 4611686018427387904) = 0
    974 ceiling(-9223372036854775808, -9223372036854775808) = -9223372036854775808, ceiling(-9223372036854775806, -9223372036854775808) = 0, ceiling(9223372036854775806, -9223372036854775808) = 0
     813ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = -1073741824, ceiling(-1073741826, 1073741824) = 0
     814ceiling(-2147483648, -2147483648) = -2147483648, ceiling(-2147483646, -2147483648) = 0, ceiling(2147483646, -2147483648) = 0
    975815
    976816unsigned long int
    977 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(18446744073709551613, 1) = 18446744073709551613
    978 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(18446744073709551612, 2) = 18446744073709551612
    979 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(18446744073709551610, 4) = 18446744073709551612
    980 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(18446744073709551606, 8) = 18446744073709551608
    981 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(18446744073709551598, 16) = 18446744073709551600
    982 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(18446744073709551582, 32) = 18446744073709551584
    983 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(18446744073709551550, 64) = 18446744073709551552
    984 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(18446744073709551486, 128) = 18446744073709551488
    985 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(18446744073709551358, 256) = 18446744073709551360
    986 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(18446744073709551102, 512) = 18446744073709551104
    987 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(18446744073709550590, 1024) = 18446744073709550592
    988 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(18446744073709549566, 2048) = 18446744073709549568
    989 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(18446744073709547518, 4096) = 18446744073709547520
    990 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(18446744073709543422, 8192) = 18446744073709543424
    991 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(18446744073709535230, 16384) = 18446744073709535232
    992 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(18446744073709518846, 32768) = 18446744073709518848
    993 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(18446744073709486078, 65536) = 18446744073709486080
    994 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(18446744073709420542, 131072) = 18446744073709420544
    995 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(18446744073709289470, 262144) = 18446744073709289472
    996 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(18446744073709027326, 524288) = 18446744073709027328
    997 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(18446744073708503038, 1048576) = 18446744073708503040
    998 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(18446744073707454462, 2097152) = 18446744073707454464
    999 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(18446744073705357310, 4194304) = 18446744073705357312
    1000 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(18446744073701163006, 8388608) = 18446744073701163008
    1001 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(18446744073692774398, 16777216) = 18446744073692774400
    1002 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(18446744073675997182, 33554432) = 18446744073675997184
    1003 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(18446744073642442750, 67108864) = 18446744073642442752
    1004 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(18446744073575333886, 134217728) = 18446744073575333888
    1005 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(18446744073441116158, 268435456) = 18446744073441116160
    1006 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(18446744073172680702, 536870912) = 18446744073172680704
    1007 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(18446744072635809790, 1073741824) = 18446744072635809792
    1008 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(18446744071562067966, 2147483648) = 18446744071562067968
    1009 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(18446744069414584318, 4294967296) = 18446744069414584320
    1010 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(18446744065119617022, 8589934592) = 18446744065119617024
    1011 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(18446744056529682430, 17179869184) = 18446744056529682432
    1012 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(18446744039349813246, 34359738368) = 18446744039349813248
    1013 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(18446744004990074878, 68719476736) = 18446744004990074880
    1014 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(18446743936270598142, 137438953472) = 18446743936270598144
    1015 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(18446743798831644670, 274877906944) = 18446743798831644672
    1016 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(18446743523953737726, 549755813888) = 18446743523953737728
    1017 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(18446742974197923838, 1099511627776) = 18446742974197923840
    1018 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(18446741874686296062, 2199023255552) = 18446741874686296064
    1019 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(18446739675663040510, 4398046511104) = 18446739675663040512
    1020 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(18446735277616529406, 8796093022208) = 18446735277616529408
    1021 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(18446726481523507198, 17592186044416) = 18446726481523507200
    1022 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(18446708889337462782, 35184372088832) = 18446708889337462784
    1023 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(18446673704965373950, 70368744177664) = 18446673704965373952
    1024 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(18446603336221196286, 140737488355328) = 18446603336221196288
    1025 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(18446462598732840958, 281474976710656) = 18446462598732840960
    1026 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(18446181123756130302, 562949953421312) = 18446181123756130304
    1027 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(18445618173802708990, 1125899906842624) = 18445618173802708992
    1028 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(18444492273895866366, 2251799813685248) = 18444492273895866368
    1029 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(18442240474082181118, 4503599627370496) = 18442240474082181120
    1030 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(18437736874454810622, 9007199254740992) = 18437736874454810624
    1031 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(18428729675200069630, 18014398509481984) = 18428729675200069632
    1032 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(18410715276690587646, 36028797018963968) = 18410715276690587648
    1033 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(18374686479671623678, 72057594037927936) = 18374686479671623680
    1034 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(18302628885633695742, 144115188075855872) = 18302628885633695744
    1035 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(18158513697557839870, 288230376151711744) = 18158513697557839872
    1036 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(17870283321406128126, 576460752303423488) = 17870283321406128128
    1037 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(17293822569102704638, 1152921504606846976) = 17293822569102704640
    1038 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(16140901064495857662, 2305843009213693952) = 16140901064495857664
    1039 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = 9223372036854775808, ceiling(13835058055282163710, 4611686018427387904) = 13835058055282163712
    1040 ceiling(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling(9223372036854775810, 9223372036854775808) = 0, ceiling(9223372036854775806, 9223372036854775808) = 9223372036854775808
     817ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(4294967293, 1) = 4294967293
     818ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(4294967292, 2) = 4294967292
     819ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(4294967290, 4) = 4294967292
     820ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(4294967286, 8) = 4294967288
     821ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(4294967278, 16) = 4294967280
     822ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(4294967262, 32) = 4294967264
     823ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(4294967230, 64) = 4294967232
     824ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(4294967166, 128) = 4294967168
     825ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(4294967038, 256) = 4294967040
     826ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(4294966782, 512) = 4294966784
     827ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(4294966270, 1024) = 4294966272
     828ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(4294965246, 2048) = 4294965248
     829ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(4294963198, 4096) = 4294963200
     830ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(4294959102, 8192) = 4294959104
     831ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(4294950910, 16384) = 4294950912
     832ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(4294934526, 32768) = 4294934528
     833ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(4294901758, 65536) = 4294901760
     834ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(4294836222, 131072) = 4294836224
     835ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(4294705150, 262144) = 4294705152
     836ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(4294443006, 524288) = 4294443008
     837ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(4293918718, 1048576) = 4293918720
     838ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(4292870142, 2097152) = 4292870144
     839ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(4290772990, 4194304) = 4290772992
     840ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(4286578686, 8388608) = 4286578688
     841ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(4278190078, 16777216) = 4278190080
     842ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(4261412862, 33554432) = 4261412864
     843ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(4227858430, 67108864) = 4227858432
     844ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(4160749566, 134217728) = 4160749568
     845ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(4026531838, 268435456) = 4026531840
     846ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(3758096382, 536870912) = 3758096384
     847ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(3221225470, 1073741824) = 3221225472
     848ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 0, ceiling(2147483646, 2147483648) = 2147483648
    1041849
    1042850long long int
Note: See TracChangeset for help on using the changeset viewer.