{"abstract":"Multi-byte immediates are cut after their first byte and single-byte ones swallow the next operand.","category":"Bytecode virtual machines","checks":8,"contract":"Decode consecutive LEB128 immediates of kinds u32, s32, u64, s64 from a byte list: 7 payload bits per byte, least significant group first, bit 0x80 means another byte follows; at most ceil(bits/7) bytes (5 for 32-bit, 10 for 64-bit). Signed kinds sign-extend from bit 0x40 of the final byte; u32/s32 values outside their range are errors. Return decoded values followed by the first error, if any: [\"unexpected-end\", pos], [\"too-long\", pos] or [\"out-of-range\", pos].","evaluation_group":"w2-bytecode-virtual-machines-leb128-immediates","failed_approach":"Comparing byte < 0x7F treats the terminal byte 0x7F as a continuation.","family":"w2-bytecode-virtual-machines-leb128-immediates-continuation-bit-polarity","id":"FA-90161","implementations":{"attempt":{"sha256":"dcdc63c5b3d9648d47f903e95d447c73406e4c27c76de20bcf1b6ef4d27fa5d8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data, kinds):\n    pos = 0\n    out = []\n    for kind in kinds:\n        bits = 32 if kind in ('u32', 's32') else 64\n        maxlen = (bits + 6) // 7\n        result = 0\n        shift = 0\n        n = 0\n        while True:\n            if pos >= len(data):\n                return out + [['unexpected-end', pos]]\n            byte = data[pos]\n            pos += 1\n            n += 1\n            result |= (byte & 0x7F) << shift\n            shift += 7\n            if byte < 0x7F:\n                break\n            if n == maxlen:\n                return out + [['too-long', pos]]\n        if kind[0] == 's' and byte & 0x40:\n            result -= 1 << shift\n        if kind == 's32' and not -(1 << 31) <= result < (1 << 31):\n            return out + [['out-of-range', pos]]\n        if kind == 'u32' and result >= (1 << 32):\n            return out + [['out-of-range', pos]]\n        out.append(result)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression: mixed immediates', ([237, 7, 179, 127, 127], ['u32', 's32', 's64']), [1005, -77, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 1], ['u32']), [268435456]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 1], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([65, 128, 64], ['u32', 'u32']), [65, 8192]),\n  ('negative s64 spanning several bytes', ([255, 255, 255, 255, 255, 95], ['s64']), [-1099511627777]),\n  ('truncated immediate', ([128, 129], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([213, 15, 230, 126, 127], ['u32', 's32', 's64']), [2005, -154, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 2], ['u32']), [536870912]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 2], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([66, 128, 64], ['u32', 'u32']), [66, 8192]),\n  ('negative s64 spanning several bytes', ([254, 255, 255, 255, 255, 95], ['s64']), [-1099511627778]),\n  ('truncated immediate', ([128, 130], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([189, 23, 153, 126, 127], ['u32', 's32', 's64']), [3005, -231, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 3], ['u32']), [805306368]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 3], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([67, 128, 64], ['u32', 'u32']), [67, 8192]),\n  ('negative s64 spanning several bytes', ([253, 255, 255, 255, 255, 95], ['s64']), [-1099511627779]),\n  ('truncated immediate', ([128, 131], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([165, 31, 204, 125, 127], ['u32', 's32', 's64']), [4005, -308, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 4], ['u32']), [1073741824]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 4], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([68, 128, 64], ['u32', 'u32']), [68, 8192]),\n  ('negative s64 spanning several bytes', ([252, 255, 255, 255, 255, 95], ['s64']), [-1099511627780]),\n  ('truncated immediate', ([128, 132], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([141, 39, 255, 124, 127], ['u32', 's32', 's64']), [5005, -385, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 5], ['u32']), [1342177280]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 5], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([69, 128, 64], ['u32', 'u32']), [69, 8192]),\n  ('negative s64 spanning several bytes', ([251, 255, 255, 255, 255, 95], ['s64']), [-1099511627781]),\n  ('truncated immediate', ([128, 133], ['u64']), [['unexpected-end', 2]])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"d52b8ef545c78220a4772a455834650d0ae8363767a42fbd5fa2a7ffc5486cdd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data, kinds):\n    pos = 0\n    out = []\n    for kind in kinds:\n        bits = 32 if kind in ('u32', 's32') else 64\n        maxlen = (bits + 6) // 7\n        result = 0\n        shift = 0\n        n = 0\n        while True:\n            if pos >= len(data):\n                return out + [['unexpected-end', pos]]\n            byte = data[pos]\n            pos += 1\n            n += 1\n            result |= (byte & 0x7F) << shift\n            shift += 7\n            if byte & 0x80:\n                break\n            if n == maxlen:\n                return out + [['too-long', pos]]\n        if kind[0] == 's' and byte & 0x40:\n            result -= 1 << shift\n        if kind == 's32' and not -(1 << 31) <= result < (1 << 31):\n            return out + [['out-of-range', pos]]\n        if kind == 'u32' and result >= (1 << 32):\n            return out + [['out-of-range', pos]]\n        out.append(result)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression: mixed immediates', ([237, 7, 179, 127, 127], ['u32', 's32', 's64']), [1005, -77, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 1], ['u32']), [268435456]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 1], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([65, 128, 64], ['u32', 'u32']), [65, 8192]),\n  ('negative s64 spanning several bytes', ([255, 255, 255, 255, 255, 95], ['s64']), [-1099511627777]),\n  ('truncated immediate', ([128, 129], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([213, 15, 230, 126, 127], ['u32', 's32', 's64']), [2005, -154, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 2], ['u32']), [536870912]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 2], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([66, 128, 64], ['u32', 'u32']), [66, 8192]),\n  ('negative s64 spanning several bytes', ([254, 255, 255, 255, 255, 95], ['s64']), [-1099511627778]),\n  ('truncated immediate', ([128, 130], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([189, 23, 153, 126, 127], ['u32', 's32', 's64']), [3005, -231, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 3], ['u32']), [805306368]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 3], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([67, 128, 64], ['u32', 'u32']), [67, 8192]),\n  ('negative s64 spanning several bytes', ([253, 255, 255, 255, 255, 95], ['s64']), [-1099511627779]),\n  ('truncated immediate', ([128, 131], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([165, 31, 204, 125, 127], ['u32', 's32', 's64']), [4005, -308, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 4], ['u32']), [1073741824]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 4], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([68, 128, 64], ['u32', 'u32']), [68, 8192]),\n  ('negative s64 spanning several bytes', ([252, 255, 255, 255, 255, 95], ['s64']), [-1099511627780]),\n  ('truncated immediate', ([128, 132], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([141, 39, 255, 124, 127], ['u32', 's32', 's64']), [5005, -385, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 5], ['u32']), [1342177280]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 5], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([69, 128, 64], ['u32', 'u32']), [69, 8192]),\n  ('negative s64 spanning several bytes', ([251, 255, 255, 255, 255, 95], ['s64']), [-1099511627781]),\n  ('truncated immediate', ([128, 133], ['u64']), [['unexpected-end', 2]])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"068badf6ebdfe8f3cd74d98bab2206f2d313c01a8f560956b3b3bdb0ae6bdb6c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data, kinds):\n    pos = 0\n    out = []\n    for kind in kinds:\n        bits = 32 if kind in ('u32', 's32') else 64\n        maxlen = (bits + 6) // 7\n        result = 0\n        shift = 0\n        n = 0\n        while True:\n            if pos >= len(data):\n                return out + [['unexpected-end', pos]]\n            byte = data[pos]\n            pos += 1\n            n += 1\n            result |= (byte & 0x7F) << shift\n            shift += 7\n            if (byte & 0x80) == 0:\n                break\n            if n == maxlen:\n                return out + [['too-long', pos]]\n        if kind[0] == 's' and byte & 0x40:\n            result -= 1 << shift\n        if kind == 's32' and not -(1 << 31) <= result < (1 << 31):\n            return out + [['out-of-range', pos]]\n        if kind == 'u32' and result >= (1 << 32):\n            return out + [['out-of-range', pos]]\n        out.append(result)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression: mixed immediates', ([237, 7, 179, 127, 127], ['u32', 's32', 's64']), [1005, -77, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 1], ['u32']), [268435456]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 1], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([65, 128, 64], ['u32', 'u32']), [65, 8192]),\n  ('negative s64 spanning several bytes', ([255, 255, 255, 255, 255, 95], ['s64']), [-1099511627777]),\n  ('truncated immediate', ([128, 129], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([213, 15, 230, 126, 127], ['u32', 's32', 's64']), [2005, -154, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 2], ['u32']), [536870912]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 2], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([66, 128, 64], ['u32', 'u32']), [66, 8192]),\n  ('negative s64 spanning several bytes', ([254, 255, 255, 255, 255, 95], ['s64']), [-1099511627778]),\n  ('truncated immediate', ([128, 130], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([189, 23, 153, 126, 127], ['u32', 's32', 's64']), [3005, -231, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 3], ['u32']), [805306368]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 3], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([67, 128, 64], ['u32', 'u32']), [67, 8192]),\n  ('negative s64 spanning several bytes', ([253, 255, 255, 255, 255, 95], ['s64']), [-1099511627779]),\n  ('truncated immediate', ([128, 131], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([165, 31, 204, 125, 127], ['u32', 's32', 's64']), [4005, -308, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 4], ['u32']), [1073741824]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 4], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([68, 128, 64], ['u32', 'u32']), [68, 8192]),\n  ('negative s64 spanning several bytes', ([252, 255, 255, 255, 255, 95], ['s64']), [-1099511627780]),\n  ('truncated immediate', ([128, 132], ['u64']), [['unexpected-end', 2]])],\n [('regression: mixed immediates', ([141, 39, 255, 124, 127], ['u32', 's32', 's64']), [5005, -385, -1]),\n  ('single byte 0x7F', ([127, 127], ['u32', 's32']), [127, -1]),\n  ('five-byte u32 is the maximum length', ([128, 128, 128, 128, 5], ['u32']), [1342177280]),\n  ('six-byte u32 is too long', ([128, 128, 128, 128, 128, 0, 5], ['u32', 'u32']), [['too-long', 5]]),\n  ('s32 2^31 out of range, -2^31 in range',\n   ([128, 128, 128, 128, 120, 128, 128, 128, 128, 8], ['s32', 's32']),\n   [-2147483648, ['out-of-range', 10]]),\n  ('u32 with bit 6 set in last byte stays positive', ([69, 128, 64], ['u32', 'u32']), [69, 8192]),\n  ('negative s64 spanning several bytes', ([251, 255, 255, 255, 255, 95], ['s64']), [-1099511627781]),\n  ('truncated immediate', ([128, 133], ['u64']), [['unexpected-end', 2]])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic, bounded teaching model of one bytecode virtual machine mechanism with a stipulated instruction encoding; it is not a production VM and claims no conformance to any real specification. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-bytecode-virtual-machines-leb128-immediates-continuation-bit-polarity","generated_at":"2026-09-29T14:51:24.078036+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Compact bytecode formats encode immediates with LEB128; decoding errors silently change operands.","repair":"Stop after the first byte whose 0x80 bit is clear.","root_cause":"The loop breaks when the continuation bit is set instead of when it is clear.","sha256":"7a57a69cefc53a75e992c51e77d863910436a45bc94f8c893cea52f9dd0824d2","title":"LEB128 immediates: decoding stops on continuation bytes · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.909,"exit_code":1,"observations":[{"actual":[1005,["unexpected-end",5]],"check":"regression: mixed immediates","expected":[1005,-77,-1],"passed":false},{"actual":[["unexpected-end",2]],"check":"single byte 0x7F","expected":[127,-1],"passed":false},{"actual":[268435456],"check":"five-byte u32 is the maximum length","expected":[268435456],"passed":true},{"actual":[["too-long",5]],"check":"six-byte u32 is too long","expected":[["too-long",5]],"passed":true},{"actual":[-2147483648,["out-of-range",10]],"check":"s32 2^31 out of range, -2^31 in range","expected":[-2147483648,["out-of-range",10]],"passed":true},{"actual":[65,8192],"check":"u32 with bit 6 set in last byte stays positive","expected":[65,8192],"passed":true},{"actual":[-1099511627777],"check":"negative s64 spanning several bytes","expected":[-1099511627777],"passed":true},{"actual":[["unexpected-end",2]],"check":"truncated immediate","expected":[["unexpected-end",2]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: mixed immediates\", \"actual\": [1005, [\"unexpected-end\", 5]], \"expected\": [1005, -77, -1], \"passed\": false}, {\"check\": \"single byte 0x7F\", \"actual\": [[\"unexpected-end\", 2]], \"expected\": [127, -1], \"passed\": false}, {\"check\": \"five-byte u32 is the maximum length\", \"actual\": [268435456], \"expected\": [268435456], \"passed\": true}, {\"check\": \"six-byte u32 is too long\", \"actual\": [[\"too-long\", 5]], \"expected\": [[\"too-long\", 5]], \"passed\": true}, {\"check\": \"s32 2^31 out of range, -2^31 in range\", \"actual\": [-2147483648, [\"out-of-range\", 10]], \"expected\": [-2147483648, [\"out-of-range\", 10]], \"passed\": true}, {\"check\": \"u32 with bit 6 set in last byte stays positive\", \"actual\": [65, 8192], \"expected\": [65, 8192], \"passed\": true}, {\"check\": \"negative s64 spanning several bytes\", \"actual\": [-1099511627777], \"expected\": [-1099511627777], \"passed\": true}, {\"check\": \"truncated immediate\", \"actual\": [[\"unexpected-end\", 2]], \"expected\": [[\"unexpected-end\", 2]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.835,"exit_code":1,"observations":[{"actual":[109,6535,["unexpected-end",5]],"check":"regression: mixed immediates","expected":[1005,-77,-1],"passed":false},{"actual":[["unexpected-end",2]],"check":"single byte 0x7F","expected":[127,-1],"passed":false},{"actual":[0],"check":"five-byte u32 is the maximum length","expected":[268435456],"passed":false},{"actual":[0,0],"check":"six-byte u32 is too long","expected":[["too-long",5]],"passed":false},{"actual":[0,0],"check":"s32 2^31 out of range, -2^31 in range","expected":[-2147483648,["out-of-range",10]],"passed":false},{"actual":[65,["unexpected-end",3]],"check":"u32 with bit 6 set in last byte stays positive","expected":[65,8192],"passed":false},{"actual":[-1],"check":"negative s64 spanning several bytes","expected":[-1099511627777],"passed":false},{"actual":[0],"check":"truncated immediate","expected":[["unexpected-end",2]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: mixed immediates\", \"actual\": [109, 6535, [\"unexpected-end\", 5]], \"expected\": [1005, -77, -1], \"passed\": false}, {\"check\": \"single byte 0x7F\", \"actual\": [[\"unexpected-end\", 2]], \"expected\": [127, -1], \"passed\": false}, {\"check\": \"five-byte u32 is the maximum length\", \"actual\": [0], \"expected\": [268435456], \"passed\": false}, {\"check\": \"six-byte u32 is too long\", \"actual\": [0, 0], \"expected\": [[\"too-long\", 5]], \"passed\": false}, {\"check\": \"s32 2^31 out of range, -2^31 in range\", \"actual\": [0, 0], \"expected\": [-2147483648, [\"out-of-range\", 10]], \"passed\": false}, {\"check\": \"u32 with bit 6 set in last byte stays positive\", \"actual\": [65, [\"unexpected-end\", 3]], \"expected\": [65, 8192], \"passed\": false}, {\"check\": \"negative s64 spanning several bytes\", \"actual\": [-1], \"expected\": [-1099511627777], \"passed\": false}, {\"check\": \"truncated immediate\", \"actual\": [0], \"expected\": [[\"unexpected-end\", 2]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.321,"exit_code":0,"observations":[{"actual":[1005,-77,-1],"check":"regression: mixed immediates","expected":[1005,-77,-1],"passed":true},{"actual":[127,-1],"check":"single byte 0x7F","expected":[127,-1],"passed":true},{"actual":[268435456],"check":"five-byte u32 is the maximum length","expected":[268435456],"passed":true},{"actual":[["too-long",5]],"check":"six-byte u32 is too long","expected":[["too-long",5]],"passed":true},{"actual":[-2147483648,["out-of-range",10]],"check":"s32 2^31 out of range, -2^31 in range","expected":[-2147483648,["out-of-range",10]],"passed":true},{"actual":[65,8192],"check":"u32 with bit 6 set in last byte stays positive","expected":[65,8192],"passed":true},{"actual":[-1099511627777],"check":"negative s64 spanning several bytes","expected":[-1099511627777],"passed":true},{"actual":[["unexpected-end",2]],"check":"truncated immediate","expected":[["unexpected-end",2]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: mixed immediates\", \"actual\": [1005, -77, -1], \"expected\": [1005, -77, -1], \"passed\": true}, {\"check\": \"single byte 0x7F\", \"actual\": [127, -1], \"expected\": [127, -1], \"passed\": true}, {\"check\": \"five-byte u32 is the maximum length\", \"actual\": [268435456], \"expected\": [268435456], \"passed\": true}, {\"check\": \"six-byte u32 is too long\", \"actual\": [[\"too-long\", 5]], \"expected\": [[\"too-long\", 5]], \"passed\": true}, {\"check\": \"s32 2^31 out of range, -2^31 in range\", \"actual\": [-2147483648, [\"out-of-range\", 10]], \"expected\": [-2147483648, [\"out-of-range\", 10]], \"passed\": true}, {\"check\": \"u32 with bit 6 set in last byte stays positive\", \"actual\": [65, 8192], \"expected\": [65, 8192], \"passed\": true}, {\"check\": \"negative s64 spanning several bytes\", \"actual\": [-1099511627777], \"expected\": [-1099511627777], \"passed\": true}, {\"check\": \"truncated immediate\", \"actual\": [[\"unexpected-end\", 2]], \"expected\": [[\"unexpected-end\", 2]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}