{"abstract":"An X on qubit 0 of a three-qubit register excites basis index 4 instead of index 1.","category":"Quantum circuit simulation","checks":7,"contract":"Input [n, gates]; start in |0...0>, apply gates h,x,y,z,s,sdg,t ([\"g\", q]) and cx,cz,swap ([\"g\", a, b]) with qubit 0 as the least significant bit of the basis index; return the statevector as [re, im] pairs rounded to 6 decimals.","evaluation_group":"w2-quantum_circuit_simulation-statevector-gates","failed_approach":"The attempted repair restores little-endian masks for single-qubit gates only; the CNOT kernel still uses the big-endian masks, so mixed circuits disagree with themselves.","family":"w2-quantum_circuit_simulation-statevector-gates-qubit-bit-ordering","id":"FA-90851","implementations":{"attempt":{"sha256":"d0ed2855f437e1109599e30a204c53c79ba003a3368ec00f84b08b2ce7a4f4a0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport cmath\nN = 1\nobservations = []\ndef solve(x):\n    n, gates = x\n    dim = 1 << n\n    st = [0j] * dim\n    st[0] = 1 + 0j\n    r = 1 / math.sqrt(2)\n    for g in gates:\n        op = g[0]\n        if op in ('h', 'x', 'y', 'z', 's', 'sdg', 't'):\n            m = 1 << g[1]\n            for i in range(dim):\n                if i & m:\n                    continue\n                a, b = st[i], st[i | m]\n                if op == 'h':\n                    st[i], st[i | m] = (a + b) * r, (a - b) * r\n                elif op == 'x':\n                    st[i], st[i | m] = b, a\n                elif op == 'y':\n                    st[i], st[i | m] = -1j * b, 1j * a\n                elif op == 'z':\n                    st[i | m] = -b\n                elif op == 's':\n                    st[i | m] = 1j * b\n                elif op == 'sdg':\n                    st[i | m] = -1j * b\n                else:\n                    st[i | m] = b * cmath.exp(1j * math.pi / 4)\n        elif op == 'cx':\n            c, t = 1 << (n - 1 - g[1]), 1 << (n - 1 - g[2])\n            for i in range(dim):\n                if i & c and not i & t:\n                    st[i], st[i | t] = st[i | t], st[i]\n        elif op == 'cz':\n            both = (1 << g[1]) | (1 << g[2])\n            for i in range(dim):\n                if i & both == both:\n                    st[i] = -st[i]\n        elif op == 'swap':\n            a, b = 1 << g[1], 1 << g[2]\n            for i in range(dim):\n                if i & a and not i & b:\n                    j = (i ^ a) | b\n                    st[i], st[j] = st[j], st[i]\n    return [[round(v.real, 6) + 0.0, round(v.imag, 6) + 0.0] for v in st]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: swap moves excitation', [3, [['x', 0], ['swap', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: sdg after h', [2, [['h', 1], ['sdg', 1]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]]], ['repair check: bell pair', [2, [['h', 0], ['cx', 0, 1]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]]], ['control: empty circuit on two qubits', [2, []], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: y on ground state', [1, [['y', 0]]], [[0.0, 0.0], [0.0, 1.0]]], ['control: y after x', [1, [['x', 0], ['y', 0]]], [[0.0, -1.0], [0.0, 0.0]]], ['control: t after h', [1, [['h', 0], ['t', 0]]], [[0.707107, 0.0], [0.5, 0.5]]]], [['regression: random circuit 2', [3, [['z', 0], ['sdg', 1], ['cx', 1, 0], ['cz', 0, 1], ['cx', 2, 0], ['y', 0], ['z', 2]]], [[0.0, 0.0], [0.0, 1.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 4', [2, [['cx', 0, 1], ['cz', 0, 1], ['h', 1], ['x', 1], ['y', 0], ['swap', 0, 1]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.707107], [0.0, 0.707107]]], ['repair check: cx with control on high qubit', [2, [['x', 1], ['cx', 1, 0]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0]]], ['control: h on excited qubit', [1, [['x', 0], ['h', 0]]], [[0.707107, 0.0], [-0.707107, 0.0]]], ['control: random circuit 0', [3, [['swap', 2, 1], ['cx', 2, 0], ['z', 2], ['y', 1], ['cx', 0, 2], ['s', 1], ['swap', 1, 0]]], [[0.0, 0.0], [-1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 1', [3, [['cx', 1, 2], ['cz', 2, 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 3', [2, [['x', 1], ['s', 1], ['x', 0], ['h', 0], ['s', 1], ['h', 1]]], [[-0.5, 0.0], [0.5, 0.0], [0.5, 0.0], [-0.5, 0.0]]]], [['regression: random circuit 6', [2, [['cz', 0, 1], ['cz', 0, 1], ['z', 1], ['sdg', 0], ['x', 0], ['x', 1], ['cx', 0, 1]]], [[0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 10', [3, [['cz', 0, 1], ['h', 0], ['z', 0], ['cx', 0, 1], ['s', 0], ['sdg', 0]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [-0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['repair check: random circuit 7', [2, [['s', 0], ['cz', 1, 0], ['x', 1], ['cx', 1, 0], ['swap', 1, 0]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0]]], ['control: random circuit 8', [1, [['s', 0], ['h', 0], ['s', 0]]], [[0.707107, 0.0], [0.0, 0.707107]]], ['control: random circuit 9', [1, [['z', 0], ['t', 0], ['z', 0], ['h', 0]]], [[0.707107, 0.0], [0.707107, 0.0]]], ['control: random circuit 13', [2, [['sdg', 0], ['cz', 0, 1], ['swap', 0, 1], ['cx', 1, 0]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 16', [1, [['h', 0], ['h', 0], ['x', 0]]], [[0.0, 0.0], [1.0, 0.0]]]], [['regression: random circuit 12', [3, [['sdg', 2], ['h', 2], ['h', 1], ['s', 0], ['z', 0], ['cx', 0, 1]]], [[0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0]]], ['regression: random circuit 14', [2, [['z', 0], ['swap', 0, 1], ['x', 1], ['t', 0]]], [[0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 21', [3, [['cz', 2, 0], ['s', 0], ['cx', 1, 0], ['y', 2], ['sdg', 0], ['sdg', 2], ['cx', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 17', [3, [['swap', 2, 0], ['t', 2], ['y', 1], ['sdg', 0], ['y', 1], ['cz', 0, 1], ['z', 2]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 18', [1, [['s', 0]]], [[1.0, 0.0], [0.0, 0.0]]], ['control: random circuit 19', [1, [['sdg', 0], ['y', 0], ['sdg', 0], ['s', 0], ['x', 0], ['z', 0], ['t', 0]]], [[0.0, 1.0], [0.0, 0.0]]], ['control: random circuit 22', [3, [['z', 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]]], [['regression: random circuit 20', [3, [['cx', 0, 1], ['h', 2], ['t', 1], ['x', 0], ['x', 2], ['t', 1]]], [[0.0, 0.0], [0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 21', [3, [['cz', 2, 0], ['s', 0], ['cx', 1, 0], ['y', 2], ['sdg', 0], ['sdg', 2], ['cx', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 29', [2, [['h', 1], ['sdg', 0], ['cx', 1, 0], ['z', 1], ['h', 1], ['t', 0], ['s', 1]]], [[0.5, 0.0], [-0.353553, -0.353553], [0.0, 0.5], [-0.353553, 0.353553]]], ['control: random circuit 24', [2, [['s', 1], ['cz', 0, 1], ['cx', 1, 0], ['t', 1], ['cx', 0, 1], ['s', 1], ['t', 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 27', [3, [['sdg', 0], ['cx', 2, 1], ['cz', 0, 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 28', [3, [['sdg', 2], ['sdg', 0]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 30', [1, [['h', 0]]], [[0.707107, 0.0], [0.707107, 0.0]]]]]\nfor label, args, expected in fixtures[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":"955543e3ee1b29ec63c94a9bbd8857ea03429c4f9a8b96006bf1b279b4715c5b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport cmath\nN = 1\nobservations = []\ndef solve(x):\n    n, gates = x\n    dim = 1 << n\n    st = [0j] * dim\n    st[0] = 1 + 0j\n    r = 1 / math.sqrt(2)\n    for g in gates:\n        op = g[0]\n        if op in ('h', 'x', 'y', 'z', 's', 'sdg', 't'):\n            m = 1 << (n - 1 - g[1])\n            for i in range(dim):\n                if i & m:\n                    continue\n                a, b = st[i], st[i | m]\n                if op == 'h':\n                    st[i], st[i | m] = (a + b) * r, (a - b) * r\n                elif op == 'x':\n                    st[i], st[i | m] = b, a\n                elif op == 'y':\n                    st[i], st[i | m] = -1j * b, 1j * a\n                elif op == 'z':\n                    st[i | m] = -b\n                elif op == 's':\n                    st[i | m] = 1j * b\n                elif op == 'sdg':\n                    st[i | m] = -1j * b\n                else:\n                    st[i | m] = b * cmath.exp(1j * math.pi / 4)\n        elif op == 'cx':\n            c, t = 1 << (n - 1 - g[1]), 1 << (n - 1 - g[2])\n            for i in range(dim):\n                if i & c and not i & t:\n                    st[i], st[i | t] = st[i | t], st[i]\n        elif op == 'cz':\n            both = (1 << g[1]) | (1 << g[2])\n            for i in range(dim):\n                if i & both == both:\n                    st[i] = -st[i]\n        elif op == 'swap':\n            a, b = 1 << g[1], 1 << g[2]\n            for i in range(dim):\n                if i & a and not i & b:\n                    j = (i ^ a) | b\n                    st[i], st[j] = st[j], st[i]\n    return [[round(v.real, 6) + 0.0, round(v.imag, 6) + 0.0] for v in st]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: swap moves excitation', [3, [['x', 0], ['swap', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: sdg after h', [2, [['h', 1], ['sdg', 1]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]]], ['repair check: bell pair', [2, [['h', 0], ['cx', 0, 1]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]]], ['control: empty circuit on two qubits', [2, []], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: y on ground state', [1, [['y', 0]]], [[0.0, 0.0], [0.0, 1.0]]], ['control: y after x', [1, [['x', 0], ['y', 0]]], [[0.0, -1.0], [0.0, 0.0]]], ['control: t after h', [1, [['h', 0], ['t', 0]]], [[0.707107, 0.0], [0.5, 0.5]]]], [['regression: random circuit 2', [3, [['z', 0], ['sdg', 1], ['cx', 1, 0], ['cz', 0, 1], ['cx', 2, 0], ['y', 0], ['z', 2]]], [[0.0, 0.0], [0.0, 1.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 4', [2, [['cx', 0, 1], ['cz', 0, 1], ['h', 1], ['x', 1], ['y', 0], ['swap', 0, 1]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.707107], [0.0, 0.707107]]], ['repair check: cx with control on high qubit', [2, [['x', 1], ['cx', 1, 0]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0]]], ['control: h on excited qubit', [1, [['x', 0], ['h', 0]]], [[0.707107, 0.0], [-0.707107, 0.0]]], ['control: random circuit 0', [3, [['swap', 2, 1], ['cx', 2, 0], ['z', 2], ['y', 1], ['cx', 0, 2], ['s', 1], ['swap', 1, 0]]], [[0.0, 0.0], [-1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 1', [3, [['cx', 1, 2], ['cz', 2, 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 3', [2, [['x', 1], ['s', 1], ['x', 0], ['h', 0], ['s', 1], ['h', 1]]], [[-0.5, 0.0], [0.5, 0.0], [0.5, 0.0], [-0.5, 0.0]]]], [['regression: random circuit 6', [2, [['cz', 0, 1], ['cz', 0, 1], ['z', 1], ['sdg', 0], ['x', 0], ['x', 1], ['cx', 0, 1]]], [[0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 10', [3, [['cz', 0, 1], ['h', 0], ['z', 0], ['cx', 0, 1], ['s', 0], ['sdg', 0]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [-0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['repair check: random circuit 7', [2, [['s', 0], ['cz', 1, 0], ['x', 1], ['cx', 1, 0], ['swap', 1, 0]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0]]], ['control: random circuit 8', [1, [['s', 0], ['h', 0], ['s', 0]]], [[0.707107, 0.0], [0.0, 0.707107]]], ['control: random circuit 9', [1, [['z', 0], ['t', 0], ['z', 0], ['h', 0]]], [[0.707107, 0.0], [0.707107, 0.0]]], ['control: random circuit 13', [2, [['sdg', 0], ['cz', 0, 1], ['swap', 0, 1], ['cx', 1, 0]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 16', [1, [['h', 0], ['h', 0], ['x', 0]]], [[0.0, 0.0], [1.0, 0.0]]]], [['regression: random circuit 12', [3, [['sdg', 2], ['h', 2], ['h', 1], ['s', 0], ['z', 0], ['cx', 0, 1]]], [[0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0]]], ['regression: random circuit 14', [2, [['z', 0], ['swap', 0, 1], ['x', 1], ['t', 0]]], [[0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 21', [3, [['cz', 2, 0], ['s', 0], ['cx', 1, 0], ['y', 2], ['sdg', 0], ['sdg', 2], ['cx', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 17', [3, [['swap', 2, 0], ['t', 2], ['y', 1], ['sdg', 0], ['y', 1], ['cz', 0, 1], ['z', 2]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 18', [1, [['s', 0]]], [[1.0, 0.0], [0.0, 0.0]]], ['control: random circuit 19', [1, [['sdg', 0], ['y', 0], ['sdg', 0], ['s', 0], ['x', 0], ['z', 0], ['t', 0]]], [[0.0, 1.0], [0.0, 0.0]]], ['control: random circuit 22', [3, [['z', 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]]], [['regression: random circuit 20', [3, [['cx', 0, 1], ['h', 2], ['t', 1], ['x', 0], ['x', 2], ['t', 1]]], [[0.0, 0.0], [0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 21', [3, [['cz', 2, 0], ['s', 0], ['cx', 1, 0], ['y', 2], ['sdg', 0], ['sdg', 2], ['cx', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 29', [2, [['h', 1], ['sdg', 0], ['cx', 1, 0], ['z', 1], ['h', 1], ['t', 0], ['s', 1]]], [[0.5, 0.0], [-0.353553, -0.353553], [0.0, 0.5], [-0.353553, 0.353553]]], ['control: random circuit 24', [2, [['s', 1], ['cz', 0, 1], ['cx', 1, 0], ['t', 1], ['cx', 0, 1], ['s', 1], ['t', 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 27', [3, [['sdg', 0], ['cx', 2, 1], ['cz', 0, 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 28', [3, [['sdg', 2], ['sdg', 0]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 30', [1, [['h', 0]]], [[0.707107, 0.0], [0.707107, 0.0]]]]]\nfor label, args, expected in fixtures[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":"33afcfe8e956e4822208b5da554c7aa4e50f27b59c5034d99c40d82e92d869ac","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport cmath\nN = 1\nobservations = []\ndef solve(x):\n    n, gates = x\n    dim = 1 << n\n    st = [0j] * dim\n    st[0] = 1 + 0j\n    r = 1 / math.sqrt(2)\n    for g in gates:\n        op = g[0]\n        if op in ('h', 'x', 'y', 'z', 's', 'sdg', 't'):\n            m = 1 << g[1]\n            for i in range(dim):\n                if i & m:\n                    continue\n                a, b = st[i], st[i | m]\n                if op == 'h':\n                    st[i], st[i | m] = (a + b) * r, (a - b) * r\n                elif op == 'x':\n                    st[i], st[i | m] = b, a\n                elif op == 'y':\n                    st[i], st[i | m] = -1j * b, 1j * a\n                elif op == 'z':\n                    st[i | m] = -b\n                elif op == 's':\n                    st[i | m] = 1j * b\n                elif op == 'sdg':\n                    st[i | m] = -1j * b\n                else:\n                    st[i | m] = b * cmath.exp(1j * math.pi / 4)\n        elif op == 'cx':\n            c, t = 1 << g[1], 1 << g[2]\n            for i in range(dim):\n                if i & c and not i & t:\n                    st[i], st[i | t] = st[i | t], st[i]\n        elif op == 'cz':\n            both = (1 << g[1]) | (1 << g[2])\n            for i in range(dim):\n                if i & both == both:\n                    st[i] = -st[i]\n        elif op == 'swap':\n            a, b = 1 << g[1], 1 << g[2]\n            for i in range(dim):\n                if i & a and not i & b:\n                    j = (i ^ a) | b\n                    st[i], st[j] = st[j], st[i]\n    return [[round(v.real, 6) + 0.0, round(v.imag, 6) + 0.0] for v in st]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: swap moves excitation', [3, [['x', 0], ['swap', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: sdg after h', [2, [['h', 1], ['sdg', 1]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]]], ['repair check: bell pair', [2, [['h', 0], ['cx', 0, 1]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]]], ['control: empty circuit on two qubits', [2, []], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: y on ground state', [1, [['y', 0]]], [[0.0, 0.0], [0.0, 1.0]]], ['control: y after x', [1, [['x', 0], ['y', 0]]], [[0.0, -1.0], [0.0, 0.0]]], ['control: t after h', [1, [['h', 0], ['t', 0]]], [[0.707107, 0.0], [0.5, 0.5]]]], [['regression: random circuit 2', [3, [['z', 0], ['sdg', 1], ['cx', 1, 0], ['cz', 0, 1], ['cx', 2, 0], ['y', 0], ['z', 2]]], [[0.0, 0.0], [0.0, 1.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 4', [2, [['cx', 0, 1], ['cz', 0, 1], ['h', 1], ['x', 1], ['y', 0], ['swap', 0, 1]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.707107], [0.0, 0.707107]]], ['repair check: cx with control on high qubit', [2, [['x', 1], ['cx', 1, 0]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0]]], ['control: h on excited qubit', [1, [['x', 0], ['h', 0]]], [[0.707107, 0.0], [-0.707107, 0.0]]], ['control: random circuit 0', [3, [['swap', 2, 1], ['cx', 2, 0], ['z', 2], ['y', 1], ['cx', 0, 2], ['s', 1], ['swap', 1, 0]]], [[0.0, 0.0], [-1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 1', [3, [['cx', 1, 2], ['cz', 2, 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 3', [2, [['x', 1], ['s', 1], ['x', 0], ['h', 0], ['s', 1], ['h', 1]]], [[-0.5, 0.0], [0.5, 0.0], [0.5, 0.0], [-0.5, 0.0]]]], [['regression: random circuit 6', [2, [['cz', 0, 1], ['cz', 0, 1], ['z', 1], ['sdg', 0], ['x', 0], ['x', 1], ['cx', 0, 1]]], [[0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 10', [3, [['cz', 0, 1], ['h', 0], ['z', 0], ['cx', 0, 1], ['s', 0], ['sdg', 0]]], [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [-0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['repair check: random circuit 7', [2, [['s', 0], ['cz', 1, 0], ['x', 1], ['cx', 1, 0], ['swap', 1, 0]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0]]], ['control: random circuit 8', [1, [['s', 0], ['h', 0], ['s', 0]]], [[0.707107, 0.0], [0.0, 0.707107]]], ['control: random circuit 9', [1, [['z', 0], ['t', 0], ['z', 0], ['h', 0]]], [[0.707107, 0.0], [0.707107, 0.0]]], ['control: random circuit 13', [2, [['sdg', 0], ['cz', 0, 1], ['swap', 0, 1], ['cx', 1, 0]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 16', [1, [['h', 0], ['h', 0], ['x', 0]]], [[0.0, 0.0], [1.0, 0.0]]]], [['regression: random circuit 12', [3, [['sdg', 2], ['h', 2], ['h', 1], ['s', 0], ['z', 0], ['cx', 0, 1]]], [[0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0], [0.5, 0.0], [0.0, 0.0]]], ['regression: random circuit 14', [2, [['z', 0], ['swap', 0, 1], ['x', 1], ['t', 0]]], [[0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 21', [3, [['cz', 2, 0], ['s', 0], ['cx', 1, 0], ['y', 2], ['sdg', 0], ['sdg', 2], ['cx', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 17', [3, [['swap', 2, 0], ['t', 2], ['y', 1], ['sdg', 0], ['y', 1], ['cz', 0, 1], ['z', 2]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 18', [1, [['s', 0]]], [[1.0, 0.0], [0.0, 0.0]]], ['control: random circuit 19', [1, [['sdg', 0], ['y', 0], ['sdg', 0], ['s', 0], ['x', 0], ['z', 0], ['t', 0]]], [[0.0, 1.0], [0.0, 0.0]]], ['control: random circuit 22', [3, [['z', 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]]], [['regression: random circuit 20', [3, [['cx', 0, 1], ['h', 2], ['t', 1], ['x', 0], ['x', 2], ['t', 1]]], [[0.0, 0.0], [0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 21', [3, [['cz', 2, 0], ['s', 0], ['cx', 1, 0], ['y', 2], ['sdg', 0], ['sdg', 2], ['cx', 0, 2]]], [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['regression: random circuit 29', [2, [['h', 1], ['sdg', 0], ['cx', 1, 0], ['z', 1], ['h', 1], ['t', 0], ['s', 1]]], [[0.5, 0.0], [-0.353553, -0.353553], [0.0, 0.5], [-0.353553, 0.353553]]], ['control: random circuit 24', [2, [['s', 1], ['cz', 0, 1], ['cx', 1, 0], ['t', 1], ['cx', 0, 1], ['s', 1], ['t', 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 27', [3, [['sdg', 0], ['cx', 2, 1], ['cz', 0, 1]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 28', [3, [['sdg', 2], ['sdg', 0]]], [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]], ['control: random circuit 30', [1, [['h', 0]]], [[0.707107, 0.0], [0.707107, 0.0]]]]]\nfor label, args, expected in fixtures[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 with a stipulated toy contract; amplitudes are rounded to fixed decimals for strict JSON output. It is not a production quantum SDK and claims no standards conformance. 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-quantum_circuit_simulation-statevector-gates-qubit-bit-ordering","generated_at":"2026-09-29T14:51:30.455799+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Statevector simulators underpin circuit unit tests; a gate-kernel slip silently corrupts every downstream amplitude.","repair":"Use 1 << q for every gate kernel so qubit 0 is the least significant bit.","root_cause":"Qubit masks are computed as 1 << (n - 1 - q), treating qubit 0 as the most significant bit contrary to the little-endian contract.","sha256":"3e9ad9bfa1b3973adc0a4e4e061c9d44dac89a3d658cb4ac8a3a5786abcc14a9","title":"Statevector uses big-endian qubit masks · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.858,"exit_code":1,"observations":[{"actual":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"check":"regression: swap moves excitation","expected":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"passed":true},{"actual":[[0.707107,0.0],[0.0,0.0],[0.0,-0.707107],[0.0,0.0]],"check":"regression: sdg after h","expected":[[0.707107,0.0],[0.0,0.0],[0.0,-0.707107],[0.0,0.0]],"passed":true},{"actual":[[0.707107,0.0],[0.707107,0.0],[0.0,0.0],[0.0,0.0]],"check":"repair check: bell pair","expected":[[0.707107,0.0],[0.0,0.0],[0.0,0.0],[0.707107,0.0]],"passed":false},{"actual":[[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"check":"control: empty circuit on two qubits","expected":[[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"passed":true},{"actual":[[0.0,0.0],[0.0,1.0]],"check":"control: y on ground state","expected":[[0.0,0.0],[0.0,1.0]],"passed":true},{"actual":[[0.0,-1.0],[0.0,0.0]],"check":"control: y after x","expected":[[0.0,-1.0],[0.0,0.0]],"passed":true},{"actual":[[0.707107,0.0],[0.5,0.5]],"check":"control: t after h","expected":[[0.707107,0.0],[0.5,0.5]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: swap moves excitation\", \"actual\": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"regression: sdg after h\", \"actual\": [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]], \"expected\": [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]], \"passed\": true}, {\"check\": \"repair check: bell pair\", \"actual\": [[0.707107, 0.0], [0.707107, 0.0], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]], \"passed\": false}, {\"check\": \"control: empty circuit on two qubits\", \"actual\": [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"control: y on ground state\", \"actual\": [[0.0, 0.0], [0.0, 1.0]], \"expected\": [[0.0, 0.0], [0.0, 1.0]], \"passed\": true}, {\"check\": \"control: y after x\", \"actual\": [[0.0, -1.0], [0.0, 0.0]], \"expected\": [[0.0, -1.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"control: t after h\", \"actual\": [[0.707107, 0.0], [0.5, 0.5]], \"expected\": [[0.707107, 0.0], [0.5, 0.5]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.076,"exit_code":1,"observations":[{"actual":[[0.0,0.0],[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"check":"regression: swap moves excitation","expected":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"passed":false},{"actual":[[0.707107,0.0],[0.0,-0.707107],[0.0,0.0],[0.0,0.0]],"check":"regression: sdg after h","expected":[[0.707107,0.0],[0.0,0.0],[0.0,-0.707107],[0.0,0.0]],"passed":false},{"actual":[[0.707107,0.0],[0.0,0.0],[0.0,0.0],[0.707107,0.0]],"check":"repair check: bell pair","expected":[[0.707107,0.0],[0.0,0.0],[0.0,0.0],[0.707107,0.0]],"passed":true},{"actual":[[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"check":"control: empty circuit on two qubits","expected":[[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"passed":true},{"actual":[[0.0,0.0],[0.0,1.0]],"check":"control: y on ground state","expected":[[0.0,0.0],[0.0,1.0]],"passed":true},{"actual":[[0.0,-1.0],[0.0,0.0]],"check":"control: y after x","expected":[[0.0,-1.0],[0.0,0.0]],"passed":true},{"actual":[[0.707107,0.0],[0.5,0.5]],"check":"control: t after h","expected":[[0.707107,0.0],[0.5,0.5]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: swap moves excitation\", \"actual\": [[0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"passed\": false}, {\"check\": \"regression: sdg after h\", \"actual\": [[0.707107, 0.0], [0.0, -0.707107], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]], \"passed\": false}, {\"check\": \"repair check: bell pair\", \"actual\": [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]], \"expected\": [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]], \"passed\": true}, {\"check\": \"control: empty circuit on two qubits\", \"actual\": [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"control: y on ground state\", \"actual\": [[0.0, 0.0], [0.0, 1.0]], \"expected\": [[0.0, 0.0], [0.0, 1.0]], \"passed\": true}, {\"check\": \"control: y after x\", \"actual\": [[0.0, -1.0], [0.0, 0.0]], \"expected\": [[0.0, -1.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"control: t after h\", \"actual\": [[0.707107, 0.0], [0.5, 0.5]], \"expected\": [[0.707107, 0.0], [0.5, 0.5]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.78,"exit_code":0,"observations":[{"actual":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"check":"regression: swap moves excitation","expected":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"passed":true},{"actual":[[0.707107,0.0],[0.0,0.0],[0.0,-0.707107],[0.0,0.0]],"check":"regression: sdg after h","expected":[[0.707107,0.0],[0.0,0.0],[0.0,-0.707107],[0.0,0.0]],"passed":true},{"actual":[[0.707107,0.0],[0.0,0.0],[0.0,0.0],[0.707107,0.0]],"check":"repair check: bell pair","expected":[[0.707107,0.0],[0.0,0.0],[0.0,0.0],[0.707107,0.0]],"passed":true},{"actual":[[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"check":"control: empty circuit on two qubits","expected":[[1.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]],"passed":true},{"actual":[[0.0,0.0],[0.0,1.0]],"check":"control: y on ground state","expected":[[0.0,0.0],[0.0,1.0]],"passed":true},{"actual":[[0.0,-1.0],[0.0,0.0]],"check":"control: y after x","expected":[[0.0,-1.0],[0.0,0.0]],"passed":true},{"actual":[[0.707107,0.0],[0.5,0.5]],"check":"control: t after h","expected":[[0.707107,0.0],[0.5,0.5]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: swap moves excitation\", \"actual\": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"regression: sdg after h\", \"actual\": [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]], \"expected\": [[0.707107, 0.0], [0.0, 0.0], [0.0, -0.707107], [0.0, 0.0]], \"passed\": true}, {\"check\": \"repair check: bell pair\", \"actual\": [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]], \"expected\": [[0.707107, 0.0], [0.0, 0.0], [0.0, 0.0], [0.707107, 0.0]], \"passed\": true}, {\"check\": \"control: empty circuit on two qubits\", \"actual\": [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"expected\": [[1.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"control: y on ground state\", \"actual\": [[0.0, 0.0], [0.0, 1.0]], \"expected\": [[0.0, 0.0], [0.0, 1.0]], \"passed\": true}, {\"check\": \"control: y after x\", \"actual\": [[0.0, -1.0], [0.0, 0.0]], \"expected\": [[0.0, -1.0], [0.0, 0.0]], \"passed\": true}, {\"check\": \"control: t after h\", \"actual\": [[0.707107, 0.0], [0.5, 0.5]], \"expected\": [[0.707107, 0.0], [0.5, 0.5]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}