timer: brute force corruption fix.
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 20 May 2015 01:21:31 +0000 (10:51 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 20 May 2015 01:21:31 +0000 (10:51 +0930)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ccan/timer/test/run-corrupt2.c [new file with mode: 0644]
ccan/timer/test/run.c
ccan/timer/timer.c

diff --git a/ccan/timer/test/run-corrupt2.c b/ccan/timer/test/run-corrupt2.c
new file mode 100644 (file)
index 0000000..c2f3297
--- /dev/null
@@ -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();
+}
index 51648fb1c7978a5ba51aeb33d03c6b5ea0fb4d74..e2d467eb0ebdb4a662c732f277a6c948f69403b8 100644 (file)
@@ -1,3 +1,4 @@
+#define CCAN_TIMER_DEBUG
 #include <ccan/timer/timer.h>
 /* Include the C files directly. */
 #include <ccan/timer/timer.c>
index 208d8e6988f1a2d8871ecf40aecb64b8f7f4e282..2c58a4e5238df00b7bd88abc8cee76feb284eab2 100644 (file)
@@ -148,73 +148,50 @@ static const struct timer *find_first(const struct list_head *list,
        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;
-       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)