You can change the function below!
  (But don't change the name.)
  Once you've finished editing, click
  outside the box to re-eval().


    Enter timeout and hit enter:
      

    
  What's going on:

  We call setPreciseTimeout in a loop.

    setPreciseTimeout(callback, last+ms)

  where _last_ is the last time the callback ran.
  (Your function has it in scope.)

  Your function can call too_long_by to tell
  the tester that it woke up late. The argument
  is the number of milliseconds late we were.