def _build_2bdy_operators_spinfree() -> list:
    ' Returns spinfree two-body operators as a symmetry-reduced list of QubitHamiltonians '
    ops = []
    for (p, q, r, s) in product(range(n_MOs), repeat=4):
        if ((((p * n_MOs) + q) >= ((r * n_MOs) + s)) and ((p >= q) or (r >= s))):
            op_tuple = ((((2 * p), 1), ((2 * q), 1), ((2 * s), 0), ((2 * r), 0)) if ((p != q) and (r != s)) else '0.0 []')
            op = _get_of_op(op_tuple)
            op_tuple = ((((2 * p), 1), (((2 * q) + 1), 1), (((2 * s) + 1), 0), ((2 * r), 0)) if (((2 * p) != ((2 * q) + 1)) and ((2 * r) != ((2 * s) + 1))) else '0.0 []')
            op += _get_of_op(op_tuple)
            op_tuple = (((((2 * p) + 1), 1), ((2 * q), 1), ((2 * s), 0), (((2 * r) + 1), 0)) if ((((2 * p) + 1) != (2 * q)) and (((2 * r) + 1) != (2 * s))) else '0.0 []')
            op += _get_of_op(op_tuple)
            op_tuple = (((((2 * p) + 1), 1), (((2 * q) + 1), 1), (((2 * s) + 1), 0), (((2 * r) + 1), 0)) if ((p != q) and (r != s)) else '0.0 []')
            op += _get_of_op(op_tuple)
            ops += [op]
    return ops
Returns spinfree two-body operators as a symmetry-reduced list of QubitHamiltonians
def _build_2bdy_operators_spinfree() -> list:
    '  '
    ops = []
    for (p, q, r, s) in product(range(n_MOs), repeat=4):
        if ((((p * n_MOs) + q) >= ((r * n_MOs) + s)) and ((p >= q) or (r >= s))):
            op_tuple = ((((2 * p), 1), ((2 * q), 1), ((2 * s), 0), ((2 * r), 0)) if ((p != q) and (r != s)) else '0.0 []')
            op = _get_of_op(op_tuple)
            op_tuple = ((((2 * p), 1), (((2 * q) + 1), 1), (((2 * s) + 1), 0), ((2 * r), 0)) if (((2 * p) != ((2 * q) + 1)) and ((2 * r) != ((2 * s) + 1))) else '0.0 []')
            op += _get_of_op(op_tuple)
            op_tuple = (((((2 * p) + 1), 1), ((2 * q), 1), ((2 * s), 0), (((2 * r) + 1), 0)) if ((((2 * p) + 1) != (2 * q)) and (((2 * r) + 1) != (2 * s))) else '0.0 []')
            op += _get_of_op(op_tuple)
            op_tuple = (((((2 * p) + 1), 1), (((2 * q) + 1), 1), (((2 * s) + 1), 0), (((2 * r) + 1), 0)) if ((p != q) and (r != s)) else '0.0 []')
            op += _get_of_op(op_tuple)
            ops += [op]
    return ops