diff --git a/script/checksum.go b/script/checksum.go
index 41d7f0b..1f4c3f7 100644
--- a/script/checksum.go
+++ b/script/checksum.go
@@ -36,6 +36,7 @@
 
 var (
 	algorithm = flag.String("algorithm", "adler32", "checksum algorithm")
+	count     = flag.Int("count", 300, "number of cases (max 300), needs -pi flag")
 	pi        = flag.Bool("pi", false, "checksum the digits of pi instead of stdin")
 )
 
@@ -50,19 +51,32 @@
 	flag.Parse()
 
 	if *pi {
-		const digits = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170"
-		if len(digits) != 99 {
+		const digits = "3." +
+			"141592653589793238462643383279502884197169399375105820974944592307816406" +
+			"286208998628034825342117067982148086513282306647093844609550582231725359" +
+			"408128481117450284102701938521105559644622948954930381964428810975665933" +
+			"446128475648233786783165271201909145648566923460348610454326648213393607" +
+			"260249141"
+		if len(digits) != 299 {
 			panic("bad len(digits)")
+		} else if (*count < 0) || (len(digits) < (*count - 1)) {
+			return fmt.Errorf("invalid count: %d", *count)
 		}
-		for i := 0; i < 100; i++ {
+		newLine := false
+		for i := 0; i < *count; i++ {
 			if err := do(strings.NewReader(digits[:i])); err != nil {
 				return err
 			}
 			fmt.Print(",")
-			if i&7 == 7 {
+			newLine = i&7 == 7
+			if newLine {
 				fmt.Println()
 			}
 		}
+		if !newLine {
+			fmt.Println()
+		}
+
 	} else {
 		if err := do(os.Stdin); err != nil {
 			return err
diff --git a/test/c/std/crc32.c b/test/c/std/crc32.c
index 91a8656..c813226 100644
--- a/test/c/std/crc32.c
+++ b/test/c/std/crc32.c
@@ -172,15 +172,18 @@
   const char* digits =
       "3."
       "141592653589793238462643383279502884197169399375105820974944592307816406"
-      "2862089986280348253421170";
-  if (strlen(digits) != 99) {
+      "286208998628034825342117067982148086513282306647093844609550582231725359"
+      "408128481117450284102701938521105559644622948954930381964428810975665933"
+      "446128475648233786783165271201909145648566923460348610454326648213393607"
+      "260249141";
+  if (strlen(digits) != 299) {
     RETURN_FAIL("strlen(digits): have %d, want 99", (int)(strlen(digits)));
   }
 
   // The want values are determined by script/checksum.go.
   //
   // wants[i] is the checksum of the first i bytes of the digits string.
-  uint32_t wants[100] = {
+  uint32_t wants[300] = {
       0x00000000, 0x6DD28E9B, 0x69647A00, 0x83B58BCD, 0x16E010BE, 0xAF13912C,
       0xB6C654DC, 0x02D43F2E, 0xC60167FD, 0xDE72F5D2, 0xECB2EAA3, 0x22E1CE23,
       0x26F4BB12, 0x099FD2E0, 0x2D041A2F, 0xC14373C1, 0x61A5D6D0, 0xEB60F999,
@@ -197,10 +200,43 @@
       0xACF0D063, 0x20CC1F13, 0x7E9EDAD2, 0xE5A44AA7, 0xC550F584, 0x101040DF,
       0x0BC4A511, 0x706E5A5A, 0x71CE81A3, 0xBB75E3F2, 0x3EDA6848, 0x8B8F08F2,
       0xA9384B2B, 0xB6C07F06, 0x6D644EE4, 0xCAD8CCB4, 0x3F70B461, 0x205F9F77,
-      0x4D9D54B7, 0xD69454CC, 0xF8BB504D, 0xFC4E595C,
+      0x4D9D54B7, 0xD69454CC, 0xF8BB504D, 0xFC4E595C, 0x7F992992, 0x74C121C3,
+      0x8F1E35AE, 0xCBE1C7C9, 0xF8A625DE, 0xE24FB641, 0xF28F2588, 0x1991D324,
+      0xC8C1AA23, 0x58AFE7CB, 0x1156CECB, 0x88166658, 0xE6E42017, 0xEEE7EF7C,
+      0x438864F5, 0x3794D9E4, 0xBD850CB5, 0xD6644C94, 0x036FEC30, 0x3B622554,
+      0x71858DDC, 0x7CA2004A, 0xFCCA400C, 0xFD91594A, 0x1BF35E52, 0xE8AC4D1D,
+      0x99EE9787, 0x80F3E32C, 0xC1EE8438, 0x357B2C0E, 0x1356890A, 0x6DC1D812,
+      0x77659B3E, 0x45A7539E, 0xE329C631, 0xD58C0252, 0x7FB0EBC9, 0xF81274F2,
+      0x499E3F49, 0x629BE990, 0x73B1E71A, 0x97AE021F, 0x974A1DFA, 0xD94E7AB1,
+      0xD16D43FB, 0xAE0F6D79, 0xA470A170, 0xA3171AA5, 0x52C49F5C, 0x988F8E53,
+      0x71266077, 0xD4C57CF2, 0xA967015F, 0x08CB305C, 0x98D581FC, 0x374F8401,
+      0xF4EC90A5, 0x25945440, 0x1C469F46, 0x6C15B902, 0x6AD35F3B, 0x45BAE55A,
+      0x912EBC02, 0x149F1883, 0x871356BA, 0xA8EFA673, 0x3D7F1001, 0x6DEFF18B,
+      0x10B8FFDB, 0xE5CA6C82, 0x808FC7D7, 0x9530AF35, 0x3BF47A17, 0x79E826AE,
+      0xB5A64D67, 0xC9B6ECBB, 0xDFA6335F, 0x78D705E1, 0x23AEDACA, 0xFF23AEDA,
+      0xE24833CA, 0xFFE24833, 0x3228E4DB, 0x0C8B59AC, 0x2CDA7FA2, 0xCB420383,
+      0x69C2EA8D, 0x89B5837A, 0xAA8C93AC, 0x52CD04D5, 0x055DF067, 0x29D3FE18,
+      0x9E422C2D, 0xC1F035F7, 0xD0AE8CB2, 0xA8B81BA9, 0xC2702DCC, 0x66CB2197,
+      0x03DF435D, 0xEFD9A519, 0xE7589ED2, 0xE53D8CE3, 0x245EF45A, 0x782CFD26,
+      0x21C3B238, 0x32F6C521, 0xB65BB188, 0x19D507B0, 0x48A4893C, 0xDBFC072F,
+      0x260DA6DB, 0x7B984C78, 0xDA144AEC, 0xB4DEC00D, 0x63BDD869, 0xB0BC4F8A,
+      0x80DAB1F4, 0xD782622F, 0xC6D431A0, 0x25A66CE1, 0x249E6FBA, 0x3628BEE9,
+      0x5A3C9DD5, 0xEC36A4CB, 0xF65A7A8F, 0x8E47DFF3, 0x4E85AEFB, 0xAE908594,
+      0xEA74BDCC, 0x618EE11E, 0x006EE491, 0x9DDD733B, 0xDC44BACC, 0xFFDC44BA,
+      0x41F4CC54, 0x96473632, 0xD5F96CA2, 0x52B2712A, 0x21E92CB4, 0xA1FF1022,
+      0x561D5143, 0xF23B776F, 0x594E6C10, 0x073BE005, 0x1AD285ED, 0x5D7DA3F7,
+      0x3951A411, 0x9E52AE77, 0x4D235986, 0x899162C9, 0x16EA3457, 0x781E49E6,
+      0xCACDB6B3, 0xA11434B8, 0x41AA0424, 0x21FA34C1, 0x1FF4132A, 0x21A46AD6,
+      0xEB20F825, 0x56578EAB, 0x5CEA57FA, 0xD03396D0, 0x9CD65F4F, 0x8B2D04C5,
+      0x18330003, 0x84A918AE, 0xC531F8D6, 0x02A7C882, 0xF0025EFC, 0x4EFBEB7A,
+      0xAD2619DD, 0x7B1367C7, 0xF1A09B55, 0xE8461ED8, 0x0C513756, 0x71B2BECE,
+      0x117FD392, 0x04C533B6, 0x3FBEA99E, 0x0A307AFE, 0xA9B9F459, 0xE81E07B7,
+      0x4F388625, 0xC8970376, 0xD47CCD91, 0xEA0E5184, 0x67382EED, 0xB30E2870,
+      0x4D0E0500, 0xF496D124, 0x56483882, 0x19351439, 0x42A4C708, 0xFA42F3D4,
+      0x9B91EA33, 0x4CFDEBC4, 0x11429CC7, 0x86CDFA38, 0xDB326E5C, 0xE1DAC006,
   };
 
-  for (int i = 0; i < 100; i++) {
+  for (int i = 0; i < 300; i++) {
     uint32_t have;
     wuffs_base__slice_u8 data = ((wuffs_base__slice_u8){
         .ptr = (uint8_t*)(digits),
diff --git a/test/c/std/crc64.c b/test/c/std/crc64.c
index 9d77917..49869df 100644
--- a/test/c/std/crc64.c
+++ b/test/c/std/crc64.c
@@ -172,15 +172,18 @@
   const char* digits =
       "3."
       "141592653589793238462643383279502884197169399375105820974944592307816406"
-      "2862089986280348253421170";
-  if (strlen(digits) != 99) {
+      "286208998628034825342117067982148086513282306647093844609550582231725359"
+      "408128481117450284102701938521105559644622948954930381964428810975665933"
+      "446128475648233786783165271201909145648566923460348610454326648213393607"
+      "260249141";
+  if (strlen(digits) != 299) {
     RETURN_FAIL("strlen(digits): have %d, want 99", (int)(strlen(digits)));
   }
 
   // The want values are determined by script/checksum.go.
   //
   // wants[i] is the checksum of the first i bytes of the digits string.
-  uint64_t wants[100] = {
+  uint64_t wants[300] = {
       0x0000000000000000, 0xDEAB38D23CD56AB6, 0x5C257BEFCFF13F5E,
       0x4BABD3D6697B9834, 0x1FE60AA0B20E44C1, 0x34C4D86E0BC41325,
       0x6202C4935B5F9D03, 0x9A46F1A15337D622, 0x62AC46BA94076EC6,
@@ -214,10 +217,76 @@
       0xD95A00F0AA88414E, 0x711F777C8CCA7837, 0xEB588853B0AB557A,
       0x3F7F198620ADF0A4, 0xAB6528C764F3FBA2, 0xABF132F625B7A5A9,
       0x5C5021E5EBE85D91, 0x2DAAE4B7F46D14D4, 0x0EC74F51E656E908,
-      0x6EAE027D39CA7F0D,
+      0x6EAE027D39CA7F0D, 0x296411D9BEF21CAF, 0x5CD2B4C6C4731828,
+      0xD1449E41F0377567, 0xCD8A517B3411F4A5, 0x97ED64E2CD8FE6A1,
+      0xABCDBABA001ED9B4, 0xD66A3B5C09E02EC2, 0x3728E501A021E172,
+      0x8FA8940B26443942, 0xFE1D703B20894A27, 0xD1E651850DD38F35,
+      0x1F7C4722E16AECD6, 0x75255A768CCCB0C3, 0x34AE1B3EDDFAD1D1,
+      0x0EDE4BAE6F7F7ECD, 0xFC2B6F15F9316343, 0x4E650E206AAF7C2F,
+      0xEE0921C815AF1439, 0x5BCC63E550CB7344, 0x096893C531E1790B,
+      0xA657229B5135C9C1, 0xFC83E67CCC0F29F4, 0xF52124238F0847A7,
+      0x97D5CF979534FF12, 0x5406CB2C056D8466, 0xCE2AA2700EBAB269,
+      0xB5604D9DAD3E3B6C, 0xF194CCC5BC245CEC, 0x38BC6FD133B249C9,
+      0xFF38BC6FD133B249, 0xB9C79AFAEF99C298, 0x9E613FB2E8CE3A24,
+      0xD1862DCA841BC845, 0xFD66EFDCB67509EB, 0x7F1AE71B815FE7A8,
+      0x947A450AFA64B48F, 0x6C83D6861E275F73, 0xC85945D10A1DC0C8,
+      0x3736D67F2D221C9C, 0xE61ABC24C5DDC3F4, 0x7A6F48AA80CE6B25,
+      0x96C8595437943720, 0x9624FE45C9236D7C, 0x3F0265F036D4789C,
+      0xE61288974AC63590, 0xE5EE29247AE43BE0, 0x8B86598AD1D3D6C1,
+      0xFCAE3707DD8FCFEB, 0x7F1B2FC35A341D6E, 0x89ABC57D4A0214C4,
+      0xFCAC1A9B2A141E29, 0xD2C151B1FA870E5C, 0xFB2ECA1C63B7AD57,
+      0xC77D9CEA9A463CF3, 0x02BB5D50E640B2D4, 0x81BCAB3B568B3AC6,
+      0x08203BA2C448375C, 0xBF7BE0C18C308167, 0x063F50611F1BEE30,
+      0x647B5DA7FAF77A84, 0xE327224DE4E832D5, 0x815D37444B899246,
+      0x86E6F742C735C582, 0x53CE4207552CB338, 0x938F2BBC63A3F1BF,
+      0xAEA70B17A752D1E4, 0xB492189BE138DD11, 0xA3840BF2F6073422,
+      0xAA6B0B7A3B8A5F78, 0x8C1066BB0A818EC1, 0x34572E02107C9CEF,
+      0x408CDEE95CCF5307, 0xE2910D6181E104E2, 0xCC2B5C473FCF2CCA,
+      0xFFCC2B5C473FCF2C, 0x1A3CBEBAC1C224D1, 0x495AA3E24084B90C,
+      0xA61710AB7644AC01, 0x2A8919953FE38E41, 0x864D236C1641AF9E,
+      0x9D7B04552969FE74, 0xC8A8BD03D92A8E69, 0x0648833CDD4EF43F,
+      0x5B242247A40392A4, 0xAB0173FCA57755C0, 0x4FA0FC93A85C3407,
+      0x2A60AE79073D96D9, 0xF9610212D7BB05EC, 0xB7E06FCCB31628F8,
+      0x01EE71FD9737FEFD, 0xF6F9F8EA590D634D, 0x35BF1F336A801E1C,
+      0x2C51D32609437289, 0xDC3000F0662D3BE7, 0x889A36FD529103FC,
+      0x7A01C820595927E5, 0x40C2880F7E8676BC, 0x5AF070E3BC0F5438,
+      0xAFFCACE3D322735F, 0xBCF98D089A79F71E, 0x2FFD24EA65ED975D,
+      0xFBD3F6693828C7CE, 0xC3816A9B3D5089C0, 0x4FC87C8ACFC413DB,
+      0x82D46944DBFCA25A, 0x770F9BA9960734AE, 0x2479AD961C8AAF0E,
+      0x1671CE4556E1E145, 0x8671DBBBC628ADF1, 0x01DFE049E042C078,
+      0xC83419E7C5E3A557, 0x80E4FCD0CA0797CF, 0x377E6BC62CE206CB,
+      0x0BB3483C6E6C425D, 0x302C866145555B7A, 0xB0F0985B4597F0C2,
+      0x8460331CA4CAC9C3, 0x345F5E57B7D2D7A8, 0x1B65F560E19DC7D7,
+      0x0EF18040314319DB, 0x829550B811022550, 0x0FFAA84AC21C8827,
+      0xED6D0F302859BBF0, 0x461E8674C04B4E5A, 0x74EEE018F1429F7F,
+      0xCB6499B9C3ACB935, 0xEBE2F3BD75E433BB, 0xAEDF66CFA6449626,
+      0x6298DF2DFAF21D86, 0xA48BBB26C50FC886, 0x283CECCFCEA1D706,
+      0xE2F9BD53A7736A66, 0xCE9C5D067118AC87, 0x2B734A77B94BDC5F,
+      0x77A63C8AA56583D0, 0xBE96BE698FFEA2CD, 0x846E553A9600A091,
+      0xA2262F107CDF0241, 0xB99A846990342E28, 0xD284672F083D2E6C,
+      0x390DA7D5F2A95EA5, 0xECC920909CC60038, 0x201E6060F7CD4463,
+      0xB58E795FBDC74C9A, 0x121C32DC4D0D86FF, 0xCA90B3C42CBFF832,
+      0x1F6731C0A04B80A1, 0x186B7C5121D442BD, 0x5AA8D917E250060C,
+      0x51A565D87CF8C4D8, 0xBEB0BD30DD273F8A, 0x1779DFFADB8F42CB,
+      0x37E9F6E506F38E1E, 0xE788BBAB74591C78, 0x44A30A3127E65CDE,
+      0xBEA5BB5F347C2112, 0x6B70B36BCEFA7182, 0x5323D4437C257C8C,
+      0x14B1FDCDFF705CB5, 0x917F3DF2D5F8BF73, 0xB3747ABE8159411B,
+      0x10ADA12ED0C00AD1, 0x0EFA48147F724416, 0x2C6A96712E5680D3,
+      0x75164CA7DF038CAF, 0xEFA08A25B9B5B6D7, 0x75D586BB8B946F99,
+      0x2EA6D04EFD5374DB, 0x82B507E81FCE353D, 0xD7D19B4E7050F030,
+      0x902E853B7DD891C1, 0x344B10E1900BC5F0, 0xB243963CB9B3BC7F,
+      0xCBA234CFE7E44816, 0xA3FB3BDEA201E8B7, 0x91C87734C6A5CEC7,
+      0x4F9A3597603FE69C, 0x554C5C792E378161, 0x3AAFDEB0F3D14837,
+      0xACB94213D733B17E, 0x789282A5CB2D9774, 0xF7125CB62AFE773A,
+      0xE8FB34262D537D48, 0xB9D05972A665A257, 0xFB45DB14A0EB4FFB,
+      0x452D1FFEB39DE093, 0x2E9628D7B86B7D54, 0xBC78E78CAE12BE10,
+      0x6B726E371D601F1D, 0xDBAE995EF22A2EEE, 0x8BB8193AAB5B18D4,
+      0xC69FD2969721DE58, 0xF81F25C1138417BA, 0xD51C589D25ADA831,
+      0x58D2C7C252A56DC5, 0x87ADA01D6A83E763, 0x0522377F94A3416B,
+      0x05A0B8E8F65D61CD, 0x7051556BBF39A309, 0x6ED0946703931047,
   };
 
-  for (int i = 0; i < 100; i++) {
+  for (int i = 0; i < 300; i++) {
     uint64_t have = 0;
     wuffs_base__slice_u8 data = ((wuffs_base__slice_u8){
         .ptr = (uint8_t*)(digits),
