151-exact-boundaries.scm.riscv32 (597B)
1 ; P1-32's three tag bits leave exact integers in [-2^28, 2^28-1]. 2 (define max #xfffffff) 3 (define min #x-10000000) 4 (if (= max 268435455) 0 (sys-exit 1)) 5 (if (= min -268435456) 0 (sys-exit 2)) 6 (if (= min (string->number "-268435456")) 0 (sys-exit 3)) 7 (if (= max (string->number "268435455")) 0 (sys-exit 4)) 8 (if (string=? "-268435456" (number->string min)) 0 (sys-exit 5)) 9 (if (string=? "-10000000" (number->string min 16)) 0 (sys-exit 6)) 10 (if (= 0 (remainder min -1)) 0 (sys-exit 7)) 11 (if (= min (* #x-4000000 4)) 0 (sys-exit 8)) 12 (if (= -1 (arithmetic-shift min -1000)) 0 (sys-exit 9)) 13 (sys-exit 0)