broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_y*2+micro_x
    local_texel = (p["y"]%4)*4+p["x"]%4
    macro_pitch = 64*p["b"]+p["trailer"]
    address = p["base"]+macro_id*macro_pitch+(micro_id*16+local_texel)*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_x+micro_y
    local_texel = (p["y"]%4)*4+p["x"]%4
    macro_pitch = 64*p["b"]+p["trailer"]
    address = p["base"]+macro_id*macro_pitch+(micro_id*16+local_texel)*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at micro_id.

An 8x8 macrotile contains four 4x4 microtiles in column-major order; texels within each microtile are row-major. Macrotiles are row-major and each macrotile has a configurable trailer. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_x*2+micro_y
    local_texel = (p["x"]%4)*4+p["y"]%4
    macro_pitch = 64*p["b"]+p["trailer"]
    address = p["base"]+macro_id*macro_pitch+(micro_id*16+local_texel)*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

meaning: Fixture-count band, not measured model difficulty

deps: stdlib

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_x*2+micro_y
    local_texel = (p["y"]%8)*8+p["x"]%8
    macro_pitch = 64*p["b"]+p["trailer"]
    address = p["base"]+macro_id*macro_pitch+(micro_id*16+local_texel)*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at local_texel.

An 8x8 macrotile contains four 4x4 microtiles in column-major order; texels within each microtile are row-major. Macrotiles are row-major and each macrotile has a configurable trailer. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_x*2+micro_y
    local_texel = (p["y"]%4)*4+p["x"]%4
    macro_pitch = 64*p["b"]
    address = p["base"]+macro_id*macro_pitch+(micro_id*16+local_texel)*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_x*2+micro_y
    local_texel = (p["y"]%4)*4+p["x"]%4
    macro_pitch = 64*(p["b"]+p["trailer"])
    address = p["base"]+macro_id*macro_pitch+(micro_id*16+local_texel)*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at macro_pitch.

An 8x8 macrotile contains four 4x4 microtiles in column-major order; texels within each microtile are row-major. Macrotiles are row-major and each macrotile has a configurable trailer. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_x*2+micro_y
    local_texel = (p["y"]%4)*4+p["x"]%4
    macro_pitch = 64*p["b"]+p["trailer"]
    address = p["base"]+macro_id*macro_pitch+micro_id*16+local_texel*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    macro_columns = (p["w"]+7)//8
    macro_x = p["x"]//8
    macro_y = p["y"]//8
    macro_id = macro_y*macro_columns+macro_x
    micro_x = (p["x"]%8)//4
    micro_y = (p["y"]%8)//4
    micro_id = micro_x*2+micro_y
    local_texel = (p["y"]%4)*4+p["x"]%4
    macro_pitch = 64*p["b"]+p["trailer"]
    address = p["base"]+macro_id*macro_pitch+micro_id*4*p["b"]+local_texel*p["b"]
    return {'macro_columns': macro_columns, 'macro_x': macro_x, 'macro_y': macro_y, 'macro_id': macro_id, 'micro_x': micro_x, 'micro_y': micro_y, 'micro_id': micro_id, 'local_texel': local_texel, 'macro_pitch': macro_pitch, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 11}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 132, 'address': 29}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 132, 'address': 191}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 132, 'address': 269}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 132, 'address': 671}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'trailer': 4}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 132, 'address': 181})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 22}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 197, 'address': 49}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 197, 'address': 291}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 197, 'address': 408}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 197, 'address': 1007}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'trailer': 5}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 197, 'address': 276})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 33}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 262, 'address': 69}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 262, 'address': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 262, 'address': 547}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 262, 'address': 1343}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'trailer': 6}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 262, 'address': 371})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 44}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 327, 'address': 89}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 327, 'address': 491}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 327, 'address': 686}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 327, 'address': 1679}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'trailer': 7}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 327, 'address': 466})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 55}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 0, 'macro_y': 0, 'macro_id': 0, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 9, 'macro_pitch': 392, 'address': 109}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 8, 'macro_pitch': 392, 'address': 591}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 2, 'macro_x': 1, 'macro_y': 0, 'macro_id': 1, 'micro_x': 1, 'micro_y': 1, 'micro_id': 3, 'local_texel': 15, 'macro_pitch': 392, 'address': 825}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 3, 'macro_x': 2, 'macro_y': 1, 'macro_id': 5, 'micro_x': 0, 'micro_y': 0, 'micro_id': 0, 'local_texel': 0, 'macro_pitch': 392, 'address': 2015}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'trailer': 8}, {'macro_columns': 1, 'macro_x': 0, 'macro_y': 1, 'macro_id': 1, 'micro_x': 0, 'micro_y': 1, 'micro_id': 1, 'local_texel': 3, 'macro_pitch': 392, 'address': 561})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at address.

An 8x8 macrotile contains four 4x4 microtiles in column-major order; texels within each microtile are row-major. Macrotiles are row-major and each macrotile has a configurable trailer. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    brick_columns = max(1,p["w"]//4)
    brick_rows = (p["h"]+1)//2
    brick_layers = (p["d"]+2)//3
    brick_xy = (p["y"]//2)*brick_columns+p["x"]//4
    brick_id = (p["z"]//3)*brick_columns*brick_rows+brick_xy
    local_slice = p["z"]%3
    local_texel = local_slice*8+(p["y"]%2)*4+p["x"]%4
    brick_pitch = 24*p["b"]+p["meta"]
    allocation = brick_columns*brick_rows*brick_layers*brick_pitch
    address = p["base"]+brick_id*brick_pitch+p["meta"]+local_texel*p["b"]
    return {'brick_columns': brick_columns, 'brick_rows': brick_rows, 'brick_layers': brick_layers, 'brick_xy': brick_xy, 'brick_id': brick_id, 'local_slice': local_slice, 'local_texel': local_texel, 'brick_pitch': brick_pitch, 'allocation': allocation, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'd': 8, 'z': 0, 'meta': 2}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 3, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 50, 'allocation': 150, 'address': 13}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'd': 9, 'z': 1, 'meta': 2}, {'brick_columns': 2, 'brick_rows': 2, 'brick_layers': 3, 'brick_xy': 2, 'brick_id': 2, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 50, 'allocation': 600, 'address': 131}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'd': 10, 'z': 3, 'meta': 2}, {'brick_columns': 3, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 11, 'brick_id': 23, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 50, 'allocation': 2400, 'address': 1163}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'd': 11, 'z': 6, 'meta': 2}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 50, 'allocation': 3200, 'address': 2377}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'd': 12, 'z': 7, 'meta': 2}, {'brick_columns': 5, 'brick_rows': 5, 'brick_layers': 4, 'brick_xy': 24, 'brick_id': 74, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 50, 'allocation': 5000, 'address': 3729}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'd': 13, 'z': 2, 'meta': 2}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 50, 'allocation': 3500, 'address': 651})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'd': 9, 'z': 0, 'meta': 4}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 3, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 76, 'allocation': 228, 'address': 26}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'd': 10, 'z': 1, 'meta': 4}, {'brick_columns': 2, 'brick_rows': 3, 'brick_layers': 4, 'brick_xy': 2, 'brick_id': 2, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 76, 'allocation': 1824, 'address': 205}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'd': 11, 'z': 3, 'meta': 4}, {'brick_columns': 3, 'brick_rows': 5, 'brick_layers': 4, 'brick_xy': 11, 'brick_id': 26, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 76, 'allocation': 4560, 'address': 2002}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'd': 12, 'z': 6, 'meta': 4}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 76, 'allocation': 4864, 'address': 3619}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'd': 13, 'z': 7, 'meta': 4}, {'brick_columns': 5, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 24, 'brick_id': 84, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 76, 'allocation': 11400, 'address': 6434}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'd': 14, 'z': 2, 'meta': 4}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 76, 'allocation': 5320, 'address': 995})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'd': 10, 'z': 0, 'meta': 6}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 4, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 102, 'allocation': 408, 'address': 39}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'd': 11, 'z': 1, 'meta': 6}, {'brick_columns': 2, 'brick_rows': 3, 'brick_layers': 4, 'brick_xy': 2, 'brick_id': 2, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 102, 'allocation': 2448, 'address': 279}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'd': 12, 'z': 3, 'meta': 6}, {'brick_columns': 3, 'brick_rows': 5, 'brick_layers': 4, 'brick_xy': 11, 'brick_id': 26, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 102, 'allocation': 6120, 'address': 2691}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'd': 13, 'z': 6, 'meta': 6}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 102, 'allocation': 8160, 'address': 4861}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'd': 14, 'z': 7, 'meta': 6}, {'brick_columns': 5, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 24, 'brick_id': 84, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 102, 'allocation': 15300, 'address': 8639}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'd': 15, 'z': 2, 'meta': 6}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 102, 'allocation': 7140, 'address': 1339})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'd': 11, 'z': 0, 'meta': 8}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 4, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 128, 'allocation': 512, 'address': 52}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'd': 12, 'z': 1, 'meta': 8}, {'brick_columns': 3, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 3, 'brick_id': 3, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 128, 'allocation': 6144, 'address': 481}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'd': 13, 'z': 3, 'meta': 8}, {'brick_columns': 4, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 14, 'brick_id': 38, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 128, 'allocation': 15360, 'address': 4916}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'd': 14, 'z': 6, 'meta': 8}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 128, 'allocation': 10240, 'address': 6103}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'd': 15, 'z': 7, 'meta': 8}, {'brick_columns': 6, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 28, 'brick_id': 112, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 128, 'allocation': 26880, 'address': 14428}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'd': 16, 'z': 2, 'meta': 8}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 6, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 128, 'allocation': 10752, 'address': 1683})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'd': 12, 'z': 0, 'meta': 10}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 4, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 154, 'allocation': 616, 'address': 65}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'd': 13, 'z': 1, 'meta': 10}, {'brick_columns': 3, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 3, 'brick_id': 3, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 154, 'allocation': 9240, 'address': 581}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'd': 14, 'z': 3, 'meta': 10}, {'brick_columns': 4, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 14, 'brick_id': 38, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 154, 'allocation': 18480, 'address': 5917}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'd': 15, 'z': 6, 'meta': 10}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 154, 'allocation': 12320, 'address': 7345}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'd': 16, 'z': 7, 'meta': 10}, {'brick_columns': 6, 'brick_rows': 7, 'brick_layers': 6, 'brick_xy': 28, 'brick_id': 112, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 154, 'allocation': 38808, 'address': 17361}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'd': 17, 'z': 2, 'meta': 10}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 6, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 154, 'allocation': 12936, 'address': 2027})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    brick_columns = (p["w"]+1)//2
    brick_rows = (p["h"]+1)//2
    brick_layers = (p["d"]+2)//3
    brick_xy = (p["y"]//2)*brick_columns+p["x"]//4
    brick_id = (p["z"]//3)*brick_columns*brick_rows+brick_xy
    local_slice = p["z"]%3
    local_texel = local_slice*8+(p["y"]%2)*4+p["x"]%4
    brick_pitch = 24*p["b"]+p["meta"]
    allocation = brick_columns*brick_rows*brick_layers*brick_pitch
    address = p["base"]+brick_id*brick_pitch+p["meta"]+local_texel*p["b"]
    return {'brick_columns': brick_columns, 'brick_rows': brick_rows, 'brick_layers': brick_layers, 'brick_xy': brick_xy, 'brick_id': brick_id, 'local_slice': local_slice, 'local_texel': local_texel, 'brick_pitch': brick_pitch, 'allocation': allocation, 'address': address}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'd': 8, 'z': 0, 'meta': 2}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 3, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 50, 'allocation': 150, 'address': 13}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'd': 9, 'z': 1, 'meta': 2}, {'brick_columns': 2, 'brick_rows': 2, 'brick_layers': 3, 'brick_xy': 2, 'brick_id': 2, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 50, 'allocation': 600, 'address': 131}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'd': 10, 'z': 3, 'meta': 2}, {'brick_columns': 3, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 11, 'brick_id': 23, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 50, 'allocation': 2400, 'address': 1163}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'd': 11, 'z': 6, 'meta': 2}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 50, 'allocation': 3200, 'address': 2377}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'd': 12, 'z': 7, 'meta': 2}, {'brick_columns': 5, 'brick_rows': 5, 'brick_layers': 4, 'brick_xy': 24, 'brick_id': 74, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 50, 'allocation': 5000, 'address': 3729}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'd': 13, 'z': 2, 'meta': 2}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 50, 'allocation': 3500, 'address': 651})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'd': 9, 'z': 0, 'meta': 4}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 3, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 76, 'allocation': 228, 'address': 26}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'd': 10, 'z': 1, 'meta': 4}, {'brick_columns': 2, 'brick_rows': 3, 'brick_layers': 4, 'brick_xy': 2, 'brick_id': 2, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 76, 'allocation': 1824, 'address': 205}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'd': 11, 'z': 3, 'meta': 4}, {'brick_columns': 3, 'brick_rows': 5, 'brick_layers': 4, 'brick_xy': 11, 'brick_id': 26, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 76, 'allocation': 4560, 'address': 2002}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'd': 12, 'z': 6, 'meta': 4}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 76, 'allocation': 4864, 'address': 3619}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'd': 13, 'z': 7, 'meta': 4}, {'brick_columns': 5, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 24, 'brick_id': 84, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 76, 'allocation': 11400, 'address': 6434}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'd': 14, 'z': 2, 'meta': 4}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 76, 'allocation': 5320, 'address': 995})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'd': 10, 'z': 0, 'meta': 6}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 4, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 102, 'allocation': 408, 'address': 39}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'd': 11, 'z': 1, 'meta': 6}, {'brick_columns': 2, 'brick_rows': 3, 'brick_layers': 4, 'brick_xy': 2, 'brick_id': 2, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 102, 'allocation': 2448, 'address': 279}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'd': 12, 'z': 3, 'meta': 6}, {'brick_columns': 3, 'brick_rows': 5, 'brick_layers': 4, 'brick_xy': 11, 'brick_id': 26, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 102, 'allocation': 6120, 'address': 2691}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'd': 13, 'z': 6, 'meta': 6}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 102, 'allocation': 8160, 'address': 4861}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'd': 14, 'z': 7, 'meta': 6}, {'brick_columns': 5, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 24, 'brick_id': 84, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 102, 'allocation': 15300, 'address': 8639}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'd': 15, 'z': 2, 'meta': 6}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 102, 'allocation': 7140, 'address': 1339})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'd': 11, 'z': 0, 'meta': 8}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 4, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 128, 'allocation': 512, 'address': 52}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'd': 12, 'z': 1, 'meta': 8}, {'brick_columns': 3, 'brick_rows': 4, 'brick_layers': 4, 'brick_xy': 3, 'brick_id': 3, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 128, 'allocation': 6144, 'address': 481}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'd': 13, 'z': 3, 'meta': 8}, {'brick_columns': 4, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 14, 'brick_id': 38, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 128, 'allocation': 15360, 'address': 4916}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'd': 14, 'z': 6, 'meta': 8}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 128, 'allocation': 10240, 'address': 6103}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'd': 15, 'z': 7, 'meta': 8}, {'brick_columns': 6, 'brick_rows': 7, 'brick_layers': 5, 'brick_xy': 28, 'brick_id': 112, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 128, 'allocation': 26880, 'address': 14428}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'd': 16, 'z': 2, 'meta': 8}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 6, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 128, 'allocation': 10752, 'address': 1683})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'd': 12, 'z': 0, 'meta': 10}, {'brick_columns': 1, 'brick_rows': 1, 'brick_layers': 4, 'brick_xy': 0, 'brick_id': 0, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 154, 'allocation': 616, 'address': 65}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'd': 13, 'z': 1, 'meta': 10}, {'brick_columns': 3, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 3, 'brick_id': 3, 'local_slice': 1, 'local_texel': 9, 'brick_pitch': 154, 'allocation': 9240, 'address': 581}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'd': 14, 'z': 3, 'meta': 10}, {'brick_columns': 4, 'brick_rows': 6, 'brick_layers': 5, 'brick_xy': 14, 'brick_id': 38, 'local_slice': 0, 'local_texel': 0, 'brick_pitch': 154, 'allocation': 18480, 'address': 5917}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'd': 15, 'z': 6, 'meta': 10}, {'brick_columns': 4, 'brick_rows': 4, 'brick_layers': 5, 'brick_xy': 15, 'brick_id': 47, 'local_slice': 0, 'local_texel': 7, 'brick_pitch': 154, 'allocation': 12320, 'address': 7345}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'd': 16, 'z': 7, 'meta': 10}, {'brick_columns': 6, 'brick_rows': 7, 'brick_layers': 6, 'brick_xy': 28, 'brick_id': 112, 'local_slice': 1, 'local_texel': 8, 'brick_pitch': 154, 'allocation': 38808, 'address': 17361}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'd': 17, 'z': 2, 'meta': 10}, {'brick_columns': 2, 'brick_rows': 7, 'brick_layers': 6, 'brick_xy': 12, 'brick_id': 12, 'local_slice': 2, 'local_texel': 19, 'brick_pitch': 154, 'allocation': 12936, 'address': 2027})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at brick_columns.

Volume storage uses 4x2x3 bricks in x-fastest brick order. Bricks have a metadata prefix; x-fastest texels fill each brick including edge padding. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access