000004b0 <loop>:
void loop() {
4b0: b5f0 push {r4, r5, r6, r7, lr}
4b2: b085 sub sp, #20
[COLOR="#008000"] uint64_t a, b;[/COLOR]
[COLOR="#008000"] a = (uint64_t)(uint32_t)random() << 32 | (uint32_t)random();[/COLOR]
4b4: f002 fe7e bl 31b4 <random>
4b8: 4607 mov r7, r0
4ba: f002 fe7b bl 31b4 <random>
[COLOR="#008000"] b = a;[/COLOR]
[COLOR="#008000"] if (++cnt % 1000000 == 0) b++; // trigger fail[/COLOR]
4be: 4910 ldr r1, [pc, #64] ; (500 <loop+0x50>)
4c0: 4a10 ldr r2, [pc, #64] ; (504 <loop+0x54>)
4c2: e9d1 5400 ldrd r5, r4, [r1]
4c6: 3501 adds r5, #1
4c8: f144 0400 adc.w r4, r4, #0
4cc: e9c1 5400 strd r5, r4, [r1]
[COLOR="#008000"] a = (uint64_t)(uint32_t)random() << 32 | (uint32_t)random();[/COLOR]
4d0: 4606 mov r6, r0
[COLOR="#008000"] if (++cnt % 1000000 == 0) b++; // trigger fail[/COLOR]
4d2: 2300 movs r3, #0
4d4: 4628 mov r0, r5
4d6: 4621 mov r1, r4
4d8: f001 fc8a bl 1df0 <__aeabi_uldivmod>
4dc: 4313 orrs r3, r2[COLOR="#FF0000"]
4de: d10c bne.n 4fa <loop+0x4a>[/COLOR]
4e0: 1c73 adds r3, r6, #1
[COLOR="#008000"] Serial.printf("ERROR %llx %llx cnt = %lld\n", x, y, cnt);[/COLOR]
4e2: 9300 str r3, [sp, #0]
[COLOR="#008000"] if (++cnt % 1000000 == 0) b++; // trigger fail[/COLOR]
4e4: f147 0300 adc.w r3, r7, #0
[COLOR="#008000"] Serial.printf("ERROR %llx %llx cnt = %lld\n", x, y, cnt);[/COLOR]
4e8: 9301 str r3, [sp, #4]
4ea: 4907 ldr r1, [pc, #28] ; (508 <loop+0x58>)
4ec: 4807 ldr r0, [pc, #28] ; (50c <loop+0x5c>)
4ee: 9502 str r5, [sp, #8]
4f0: 9403 str r4, [sp, #12]
4f2: 4632 mov r2, r6
4f4: 463b mov r3, r7
4f6: f000 ffdb bl 14b0 <Print::printf(char const*, ...)>
[COLOR="#008000"] check(a, b);[/COLOR]
4fa: b005 add sp, #20
4fc: bdf0 pop {r4, r5, r6, r7, pc}
4fe: bf00 nop
500: 1fff0eb8 .word 0x1fff0eb8
504: 000f4240 .word 0x000f4240
508: 00008bdc .word 0x00008bdc
50c: 1fff0738 .word 0x1fff0738