julia> A = Tensor(Dense(SparseList(Element(0.0))), [0 0 3.3; 1.1 0 0; 2.2 0 4.4; 0 0 5.5])
4×3-Tensor
└─ Dense [:,1:3]
   ├─ [:, 1]: SparseList (0.0) [1:4]
   │  ├─ [2]: 1.1
   │  └─ [3]: 2.2
   ├─ [:, 2]: SparseList (0.0) [1:4]
   └─ [:, 3]: SparseList (0.0) [1:4]
      ├─ [1]: 3.3
      ├─ [3]: 4.4
      └─ [4]: 5.5

julia> y = Tensor([1.0, 2.0, 3.0, 4.0])
4-Tensor
└─ Dense [1:4]
   ├─ [1]: 1.0
   ├─ [2]: 2.0
   ├─ [3]: 3.0
   └─ [4]: 4.0

julia> x = Tensor([1, 2, 3])
3-Tensor
└─ Dense [1:3]
   ├─ [1]: 1
   ├─ [2]: 2
   └─ [3]: 3

julia> @finch_code begin
        y .= 0
        for j = _
            for i = _
                y[i] += A[i, j] * x[j]
            end
        end
    end
quote
    y_lvl = ((ex.bodies[1]).bodies[1]).tns.bind.lvl
    y_lvl_2 = y_lvl.lvl
    y_lvl_val = y_lvl.lvl.val
    A_lvl = (((ex.bodies[1]).bodies[2]).body.body.rhs.args[1]).tns.bind.lvl
    A_lvl_2 = A_lvl.lvl
    A_lvl_ptr = A_lvl_2.ptr
    A_lvl_idx = A_lvl_2.idx
    A_lvl_2_val = A_lvl_2.lvl.val
    x_lvl = (((ex.bodies[1]).bodies[2]).body.body.rhs.args[2]).tns.bind.lvl
    x_lvl_val = x_lvl.lvl.val
    x_lvl.shape == A_lvl.shape || throw(DimensionMismatch("mismatched dimension limits ($(x_lvl.shape) != $(A_lvl.shape))"))
    result = nothing
    Finch.resize_if_smaller!(y_lvl_val, A_lvl_2.shape)
    Finch.fill_range!(y_lvl_val, 0.0, 1, A_lvl_2.shape)
    for j_4 = 1:x_lvl.shape
        x_lvl_q = (1 - 1) * x_lvl.shape + j_4
        A_lvl_q = (1 - 1) * A_lvl.shape + j_4
        x_lvl_2_val = x_lvl_val[x_lvl_q]
        A_lvl_2_q = A_lvl_ptr[A_lvl_q]
        A_lvl_2_q_stop = A_lvl_ptr[A_lvl_q + 1]
        if A_lvl_2_q < A_lvl_2_q_stop
            A_lvl_2_i1 = A_lvl_idx[A_lvl_2_q_stop - 1]
        else
            A_lvl_2_i1 = 0
        end
        phase_stop = min(A_lvl_2.shape, A_lvl_2_i1)
        if phase_stop >= 1
            if A_lvl_idx[A_lvl_2_q] < 1
                A_lvl_2_q = Finch.scansearch(A_lvl_idx, 1, A_lvl_2_q, A_lvl_2_q_stop - 1)
            end
            while true
                A_lvl_2_i = A_lvl_idx[A_lvl_2_q]
                if A_lvl_2_i < phase_stop
                    A_lvl_3_val = A_lvl_2_val[A_lvl_2_q]
                    y_lvl_q = (1 - 1) * A_lvl_2.shape + A_lvl_2_i
                    y_lvl_val[y_lvl_q] = x_lvl_2_val * A_lvl_3_val + y_lvl_val[y_lvl_q]
                    A_lvl_2_q += 1
                else
                    phase_stop_3 = min(A_lvl_2_i, phase_stop)
                    if A_lvl_2_i == phase_stop_3
                        A_lvl_3_val = A_lvl_2_val[A_lvl_2_q]
                        y_lvl_q = (1 - 1) * A_lvl_2.shape + phase_stop_3
                        y_lvl_val[y_lvl_q] = x_lvl_2_val * A_lvl_3_val + y_lvl_val[y_lvl_q]
                        A_lvl_2_q += 1
                    end
                    break
                end
            end
        end
    end
    resize!(y_lvl_val, A_lvl_2.shape)
    result = (y = Tensor((DenseLevel){Int32}(y_lvl_2, A_lvl_2.shape)),)
    result
end
julia> @finch begin
        y .= 0
        for j = _
            for i = _
                y[i] += A[i, j] * x[j]
            end
        end
    end
(y = Tensor(Dense{Int32}(Element{0.0, Float64, Int32}([9.899999999999999, 1.1, 15.400000000000002, 16.5]), 4)),)

