unsigned long to float problem

I calculate the elapsed time by substracting two time variables (using two micros() at the two ends of the loop) and then dividing the result by 1000000.

I don't see any division occurring.

      Serial.print("t1: ");
      Serial.println(t1, 5);
      Serial.print("t0: ");
      Serial.println(t0, 5);

Why are you printing the numbers using base 5?