Print all multiples of 32 from 0 to `n`...imperfectly Objective: Print all multiples of 32 from 0 to an arbitrary number n.

Rules:


One argument will be given: a single integer from 0 to 231 - 1. This will be n here on out.
The first iteration must be 0, and the last iteration must be n. 0 is to be counted as a multiple of 32.
Each time a multiple is encountered, the multiple itself must be printed with no leading whitespace, and then it must be immediately followed by a newline (CR, CRLF, and LF are all acceptable as long as they are consistent.
A bug must be introduced such that a minimum of n+1 floor 32 cases are incorrectly printed/omitted (in the average case). 


Perfection is allowed for n less than or equal to 32.

Your source code must be in pure ASCII. Exceptions only include APL and others that use non-ASCII operators.
This is an underhanded contest. The best code is clear, concise, obvious, and wrong.


Example in C++ (except for clear bug):



// This conforms to the rules, but is a bad entry.
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;
#include &lt;cstdint&gt;

int main(int argc, char* argv[]) {
  int32_t max = (int32_t) atol(argv[1]);
  int32_t i = 0;
  while (i != max) {
    if (!(i % 32) &amp;&amp; !((int) (4 * random()) / 4)) {
      cout &lt;&lt; i &lt;&lt; endl;
    }
    i++;
  }
  return 0;
}


Most popular answer wins, so make it good!
C

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main(int argc, char *argv[]) {
    int n = atoi(argv[1]);
    for(int i = 0; i &lt; n; i++) {
        if(i &amp; 31 == 0) {
            printf("%d\n", i);
        }
    }
}