Browse Source

timer: brute force corruption fix.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell 10 years ago
parent
commit
63f7705912
3 changed files with 6222 additions and 60 deletions
  1. 6184 0
      ccan/timer/test/run-corrupt2.c
  2. 1 0
      ccan/timer/test/run.c
  3. 37 60
      ccan/timer/timer.c

+ 6184 - 0
ccan/timer/test/run-corrupt2.c

@@ -0,0 +1,6184 @@
+#define CCAN_TIMER_DEBUG 1
+#include <ccan/timer/timer.h>
+/* Include the C files directly. */
+#include <ccan/timer/timer.c>
+#include <ccan/tap/tap.h>
+
+/* This is the original pre-cut-down dump. */
+int main(int argc, char *argv[])
+{
+	struct timeabs when;
+	struct timers timers;
+	struct timer *timer;
+
+	plan_tests(1);
+
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 0;
+	timers_init(&timers, when);
+
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 138000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 82000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 118000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 168000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 108000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 46000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 18000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 163000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 58000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 113000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 143000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 143000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 58000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 164000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 177000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 156000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 139000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 56000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 207000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 59000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 200000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 113000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 43000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 107000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 63000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 96000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 162000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 139000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 46000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 70000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 24000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 70000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 114000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 38000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 37000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 60000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 158000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 166000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 112000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 204000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 107000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 109000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 53000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 49000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 12000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 38000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 13000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 91000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 57000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 148000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 169000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 161000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 145000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 149000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 25000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 137000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 114000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 39000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 59000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 174000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 95000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 39000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 153000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 145000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 187000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 48000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 181000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 99000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 177000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 205000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 153000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 39000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 200000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 92000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 150000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 151000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 179000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 36000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 42000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 71000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 52000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 127000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 33000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 171000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 91000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 119000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 200000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 35000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 177000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 87000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 44000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 36000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 134000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 67000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 24000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 15000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 168000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 196000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 156000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 136000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 204000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 126000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 162000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 188000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 139000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 156000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 57000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 61000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 90000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 41000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 203000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 67000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 37000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 96000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 24000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 22000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 89000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 20000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 179000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 84000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 51000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 30000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 43000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 98000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 148000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 176000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 94000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 66000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 27000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 16000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 70000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 59000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 47000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 15000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 69000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 27000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 128000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 155000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 193000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 83000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 68000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 83000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 47000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 99000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 93000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 17000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 88000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 124000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 81000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 139000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 69000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 28000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 48000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 35000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 84000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 43000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 91000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 103000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 168000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 80000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 109000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 27000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 49000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 179000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 32000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 204000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 57000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 41000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 72000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 92000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 200000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 201000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 67000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 125000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 184000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 101000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 157000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 161000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 41000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 31000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 147000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 150000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 64000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 40000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 108000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 91000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 126000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 126000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 12000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 41000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 149000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 14000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 148000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 190000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 28000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 31000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 72000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 22000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 189000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 187000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 95000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 114000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 186000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 93000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 17000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 169000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 67000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 109000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 121000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 137000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 160000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 46000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 28000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 115000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 59000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 54000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 121000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 15000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 101000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 24000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 203000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 128000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 15000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 92000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 32000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 192000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 127000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 40000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 103000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 184000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 136000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 203000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 96000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 63000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 153000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 84000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 24000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 123000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 189000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 187000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 172000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 98000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 129000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 120000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 142000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 104000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 27000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 156000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 45000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 147000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 101000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 163000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 153000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 138000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 101000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 120000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 28000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 27000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 46000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 65000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 68000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 140000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 114000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 181000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 71000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 43000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 95000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 83000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 14000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 61000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 15000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 60000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 78000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 113000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 95000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 16000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 205000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 49000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 130000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 177000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 36000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 87000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 191000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 75000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 46000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 128000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 21000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 152000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 142000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 189000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 80000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 194000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 182000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 37000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 44000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 50000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 93000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 82000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 208000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 40000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 73000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 157000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 160000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 40000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 124000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 69000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 57000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 134000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 92000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 45000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 42000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 14000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 164000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 53000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 108000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 96000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 50000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 88000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 169000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 72000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 72000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 93000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 51000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 58000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 133000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 134000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 82000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 157000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 43000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 79000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 188000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 195000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 200000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 93000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 42000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 125000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 127000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 77000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 157000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 152000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 30000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 221000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 109000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 133000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 123000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 216000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 201000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 123000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 140000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 77000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 196000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 214000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 184000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 35000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 41000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 49000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 134000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 164000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 25000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 204000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 79000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 107000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 140000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 164000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 215000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 52000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 94000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 174000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 50000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 215000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 59000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 160000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 152000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 111000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 105000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 80000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 209000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 221000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 85000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 181000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 162000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 44000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 88000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 125000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 113000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 35000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 152000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 65000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 214000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 119000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 47000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 130000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 59000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 38000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 156000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 126000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 66000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 168000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 215000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 140000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 49000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 91000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 142000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 229000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 196000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 118000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 211000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 189000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 212000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 222000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 217000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 56000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 101000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 97000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 119000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 48000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 123000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 227000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 220000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 151000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 113000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 153000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 57000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 129000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 162000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 76000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 162000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 127000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 56000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 81000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 175000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 166000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 220000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 59000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 148000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 193000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 126000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 63000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 53000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 208000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 75000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 91000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 48000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 162000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 223000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 190000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 97000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 137000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 68000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 112000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 92000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 190000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 151000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 81000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 240000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 130000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 52000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 235000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 219000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 218000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 244000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 176000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 222000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 211000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 62000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 86000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 230000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 241000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 222000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 51000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 112000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 74000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 200000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 175000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 155000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 240000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 125000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 244000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 202000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 120000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 222000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 93000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 48000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 245000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 60000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 175000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 231000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 70000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 142000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 88000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 70000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 208000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 234000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 203000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 210000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 212000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 222000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 191000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 166000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 112000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 68000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 205000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 224000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 66000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 157000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 215000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 241000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 114000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 142000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 224000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 89000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 189000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 111000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 80000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 123000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 239000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 108000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 242000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 194000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 223000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 205000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 118000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 164000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 214000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 137000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 205000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 166000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 160000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 92000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 121000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 219000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 87000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 209000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 130000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 68000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 194000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 225000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 92000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 226000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 212000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 216000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 105000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 70000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 121000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 182000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 143000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 240000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 96000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 226000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 192000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 209000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 78000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 247000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 89000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 193000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 153000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 171000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 91000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 256000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 207000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 252000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 127000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 215000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 219000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 192000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 82000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 145000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 230000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 217000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 136000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 104000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 241000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 221000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 160000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 214000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 136000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 225000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 103000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 85000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 120000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 150000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 106000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 238000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 245000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 81000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 195000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 205000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 166000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 219000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 244000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 138000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 77000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 258000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 195000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 168000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 69000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 241000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 74000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 83000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 244000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 139000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 240000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 224000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 130000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 194000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 202000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 266000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 87000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 210000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 222000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 195000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 143000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 249000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 262000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 217000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 174000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 99000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 98000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 228000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 229000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 235000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 97000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 192000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 155000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 116000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 177000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 85000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 155000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 202000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 259000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 265000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 216000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 184000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 214000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 169000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 107000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 186000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 96000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 181000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 166000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 89000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 268000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 115000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 147000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 98000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 106000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 148000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 257000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 220000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 177000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 102000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 166000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 232000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 264000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 248000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 111000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 248000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 189000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 252000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 110000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 113000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 143000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 267000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 174000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 130000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 232000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 220000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 224000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 212000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 168000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 231000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 274000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 169000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 99000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 122000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 223000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 277000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 264000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 134000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 210000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 245000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 135000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 215000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 230000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 150000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 109000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 244000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 203000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 160000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 196000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 95000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 226000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 292000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 227000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 112000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 208000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 128000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 162000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 143000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 96000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 256000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 104000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 100000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 255000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 208000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 255000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 127000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 101000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 114000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 190000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 119000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 220000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 103000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 141000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 277000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 259000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 227000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 277000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 144000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 181000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 286000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 288000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 286000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 253000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 126000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 249000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 295000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 137000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 207000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 208000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 193000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 118000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 222000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 121000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 181000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 267000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 295000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 255000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 225000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 139000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 235000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 186000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 219000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 214000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 120000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 212000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 268000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 259000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 111000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 172000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 248000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 299000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 126000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 275000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 274000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 264000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 106000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 181000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 157000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 276000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 245000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 231000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 279000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 199000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 235000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 274000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 186000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 120000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 158000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 304000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 232000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 241000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 121000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 294000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 207000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 278000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 302000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 276000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 223000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 251000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 148000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 172000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 307000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 299000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 248000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 111000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 223000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 141000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 238000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 114000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 281000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 257000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 194000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 249000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 136000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 207000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 252000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 133000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 284000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 138000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 270000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 237000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 268000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 265000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 158000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 252000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 225000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 117000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 175000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 140000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 257000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 131000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 254000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 289000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 259000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 312000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 246000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 210000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 129000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 273000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 235000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 177000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 167000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 209000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 149000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 193000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 196000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 309000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 272000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 214000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 317000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 228000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 262000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 258000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 291000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 297000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 261000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 305000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 124000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 123000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 215000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 132000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 219000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 163000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 265000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 289000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 261000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 230000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 201000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 134000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 292000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 251000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 179000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 277000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 279000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 259000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 268000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 294000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 315000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 231000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 156000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 210000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 322000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 278000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 139000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 216000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 263000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 293000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 251000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 263000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 260000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 226000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 152000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 276000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 315000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 257000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 302000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 321000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 174000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 324000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 330000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 256000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 216000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 236000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 224000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 156000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 290000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 201000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 236000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 149000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 244000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 318000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 282000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 238000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 165000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 212000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 318000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 193000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 306000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 338000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 289000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 288000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 213000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 257000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 227000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 253000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 300000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 219000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 242000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 295000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 340000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 275000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 146000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 294000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 241000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 192000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 297000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 205000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 278000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 147000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 269000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 328000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 342000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 308000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 178000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 260000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 305000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 326000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 159000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 330000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 242000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 245000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 243000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 154000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 275000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 295000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 259000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 225000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 182000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 264000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 263000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 334000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 324000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 315000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 340000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 284000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 246000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 170000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 323000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 306000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 163000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 320000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 269000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 351000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 189000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 184000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 332000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 203000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 169000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 182000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 256000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 218000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 342000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 319000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 256000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 264000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 353000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 173000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 332000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 340000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 302000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 298000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 278000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 185000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 277000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 324000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 353000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 258000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 293000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 305000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 272000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 217000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 226000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 267000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 250000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 206000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 196000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 298000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 171000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 174000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 198000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 233000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 360000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 180000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 349000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 261000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 289000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 347000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 230000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 216000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 281000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 327000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 309000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 203000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 353000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 227000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 168000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 347000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 326000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 254000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 246000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 187000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 308000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 260000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 293000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 197000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 304000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 277000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 334000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 314000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 242000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 368000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 335000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 238000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 183000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 272000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	free(timers_expire(&timers, when)); timers_check(&timers, "expire");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 288000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 260000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 207000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 305000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	when.ts.tv_sec = 0; when.ts.tv_nsec = 263000000;
+	timer = malloc(sizeof(*timer));
+	timer_init(timer);
+	timer_add(&timers, timer, when); timers_check(&timers, "add");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+	timer_earliest(&timers, &when); timers_check(&timers, "earliest");
+
+	while (timer_earliest(&timers, &when)) {
+		free(timers_expire(&timers, when));
+ 	}
+
+	ok1(timers_check(&timers, NULL));
+	timers_cleanup(&timers);
+
+	return exit_status();
+}

+ 1 - 0
ccan/timer/test/run.c

@@ -1,3 +1,4 @@
+#define CCAN_TIMER_DEBUG
 #include <ccan/timer/timer.h>
 #include <ccan/timer/timer.h>
 /* Include the C files directly. */
 /* Include the C files directly. */
 #include <ccan/timer/timer.c>
 #include <ccan/timer/timer.c>

+ 37 - 60
ccan/timer/timer.c

@@ -148,73 +148,50 @@ static const struct timer *find_first(const struct list_head *list,
 	return prev;
 	return prev;
 }
 }
 
 
-static const struct timer *get_first(const struct timers *timers)
+/* FIXME: Suboptimal */
+static const struct timer *brute_force_first(const struct timers *timers)
 {
 {
-	unsigned int level, i, off;
-	bool need_next;
-	uint64_t base;
+	unsigned int l, i;
 	const struct timer *found = NULL;
 	const struct timer *found = NULL;
-	struct list_head *h;
-
-	if (timers->first < timers->base) {
-		base = timers->base;
-		level = 0;
-	} else {
-		/* May not be accurate, due to timer_del / expiry. */
-		level = level_of(timers, timers->first);
-		base = timers->first >> (TIMER_LEVEL_BITS * level);
-	}
-
-next:
-	if (!timers->level[level])
-		return find_first(&timers->far, -1U, NULL);
 
 
-	need_next = false;
-	off = base % PER_LEVEL;
-	for (i = 0; i < PER_LEVEL; i++) {
-		h = &timers->level[level]->list[(i+off) % PER_LEVEL];
-
-		if (!list_empty(h))
-			break;
-
-		/* We haven't cascaded yet, so if we wrap, we'll need to
-		 * check next level, too. */
-		if (i + off == PER_LEVEL)
-			need_next = true;
-	}
-	if (i == PER_LEVEL) {
-		level++;
-		base >>= TIMER_LEVEL_BITS;
-		if (off != 0)
-			/* We need *next* bucket: we've started reusing the
-			 * one above */
-			base++;
-		goto next;
+	for (l = 0; l < ARRAY_SIZE(timers->level) && timers->level[l]; l++) {
+		for (i = 0; i < PER_LEVEL; i++)
+			found = find_first(&timers->level[l]->list[i], l,
+					   found);
 	}
 	}
 
 
-	/* Level 0 is exact, so they're all the same. */
-	found = find_first(h, level, NULL);
-
-	while (need_next) {
-		need_next = false;
-		if (!timers->level[level+1]) {
-			found = find_first(&timers->far, -1U, found);
-		} else {
-			/* Current upper bucket has emptied into this
-			 * bucket; we want *next* one. */
-			base >>= TIMER_LEVEL_BITS;
-			base++;
-			off = base % PER_LEVEL;
-
-			if (off == 0) {
-				need_next = true;
-			} else {
-				h = &timers->level[level+1]->list[off];
-				found = find_first(h, level+1, found);
-			}
+	found = find_first(&timers->far, -1U, found);
+	return found;
+}
+			
+static const struct timer *get_first(const struct timers *timers)
+{
+	uint64_t time;
+	
+	/* Where can we start from? */
+	if (timers->first < timers->base)
+		time = timers->base;
+	else
+		time = timers->first;
+
+	/* We can have just far timers, for example. */
+	if (timers->level[0]) {
+		/* First search rest of lower buckets; we've already spilled
+		 * so if we find one there we don't need to search further. */
+		unsigned int i, off = time % PER_LEVEL;
+
+		for (i = off; i < PER_LEVEL; i++) {
+			struct list_head *h = &timers->level[0]->list[i];
+			if (!list_empty(h))
+				return find_first(h, 0, NULL);
 		}
 		}
 	}
 	}
-	return found;
+
+	/* From here on, we're searching non-normalized parts of the
+	 * data structure, which is much subtler.
+	 *
+	 * So we brute force. */
+	return brute_force_first(timers);
 }
 }
 
 
 static bool update_first(struct timers *timers)
 static bool update_first(struct timers *timers)