simpleSym3 :: Gate g => Circuit g
simpleSym3 = buildCircuit $ do
    let n = 10
    xs <- symbol n
    ys <- symbol n
    ws <- symbol n
    zs <- zipWithM circXor ws =<< zipWithM circXor xs ys
    output =<< circProd zs
simpleSym3 :: Gate g => Circuit g
simpleSym3 = buildCircuit $ do
    let n = 10
    xs <- symbol n
    ys <- symbol n
    ws <- symbol n
    zs <- zipWithM circXor ws =<< zipWithM circXor xs ys
    output =<< circProd zs
simpleSym3 = buildCircuit $ do
    let n = 10
    xs <- symbol n
    ys <- symbol n
    ws <- symbol n
    zs <- zipWithM circXor ws =<< zipWithM circXor xs ys
    output =<< circProd zs