julia> A = Tensor(SparseList(Element(0.0)), [2.0, 0.0, 3.0, 0.0, 4.0, 0.0, 5.0, 0.0, 6.0, 0.0])
10 Tensor{SparseListLevel{Int64, Vector{Int64}, Vector{Int64}, ElementLevel{0.0, Float64, Int64, Vector{Float64}}}}:
 2.0
 0.0
 3.0
 0.0
 4.0
 0.0
 5.0
 0.0
 6.0
 0.0
julia> B = Tensor(Dense(Element(0.0)), fill(1.1, 10))
10 Tensor{DenseLevel{Int64, ElementLevel{0.0, Float64, Int64, Vector{Float64}}}}:
 1.1
 1.1
 1.1
 1.1
 1.1
 1.1
 1.1
 1.1
 1.1
 1.1
julia> @finch_code for i = _
        B[i] += A[i]
    end
quote
    B_lvl = (ex.bodies[1]).body.lhs.tns.bind.lvl
    B_lvl_stop = B_lvl.shape
    B_lvl_2 = B_lvl.lvl
    B_lvl_2_val = B_lvl_2.val
    A_lvl = (ex.bodies[1]).body.rhs.tns.bind.lvl
    A_lvl_ptr = A_lvl.ptr
    A_lvl_idx = A_lvl.idx
    A_lvl_stop = A_lvl.shape
    A_lvl_2 = A_lvl.lvl
    A_lvl_2_val = A_lvl_2.val
    A_lvl_stop == B_lvl_stop || throw(DimensionMismatch("mismatched dimension limits ($(A_lvl_stop) != $(B_lvl_stop))"))
    A_lvl_q = A_lvl_ptr[1]
    A_lvl_q_stop = A_lvl_ptr[1 + 1]
    if A_lvl_q < A_lvl_q_stop
        A_lvl_i1 = A_lvl_idx[A_lvl_q_stop - 1]
    else
        A_lvl_i1 = 0
    end
    phase_stop = min(A_lvl_stop, A_lvl_i1)
    if phase_stop >= 1
        if A_lvl_idx[A_lvl_q] < 1
            A_lvl_q = Finch.scansearch(A_lvl_idx, 1, A_lvl_q, A_lvl_q_stop - 1)
        end
        while true
            A_lvl_i = A_lvl_idx[A_lvl_q]
            if A_lvl_i < phase_stop
                A_lvl_2_val_2 = A_lvl_2_val[A_lvl_q]
                B_lvl_q = (1 - 1) * B_lvl_stop + A_lvl_i
                B_lvl_2_val[B_lvl_q] = A_lvl_2_val_2 + B_lvl_2_val[B_lvl_q]
                A_lvl_q += 1
            else
                phase_stop_3 = min(phase_stop, A_lvl_i)
                if A_lvl_i == phase_stop_3
                    A_lvl_2_val_2 = A_lvl_2_val[A_lvl_q]
                    B_lvl_q = (1 - 1) * B_lvl_stop + phase_stop_3
                    B_lvl_2_val[B_lvl_q] += A_lvl_2_val_2
                    A_lvl_q += 1
                end
                break
            end
        end
    end
    result = ()
    resize!(B_lvl_2_val, B_lvl_stop)
    result
end
julia> @finch for i = _
        B[i] += A[i]
    end
NamedTuple()

