begin
    y_lvl = ((ex.bodies[1]).bodies[1]).tns.bind.lvl
    y_lvl_2 = y_lvl.lvl
    y_lvl_2_val = y_lvl_2.val
    x_lvl = (((ex.bodies[1]).bodies[2]).body.body.rhs.args[1]).tns.bind.lvl
    x_lvl_stop = x_lvl.shape
    x_lvl_2 = x_lvl.lvl
    x_lvl_2_val = x_lvl_2.val
    A_lvl = (((ex.bodies[1]).bodies[2]).body.body.rhs.args[2]).tns.bind.lvl
    A_lvl_stop = A_lvl.shape
    A_lvl_2 = A_lvl.lvl
    A_lvl_2_ptr = A_lvl_2.ptr
    A_lvl_2_idx = A_lvl_2.idx
    A_lvl_2_stop = A_lvl_2.shape
    A_lvl_3 = A_lvl_2.lvl
    A_lvl_3_val = A_lvl_3.val
    A_lvl_2_stop == x_lvl_stop || throw(DimensionMismatch("mismatched dimension limits ($(A_lvl_2_stop) != $(x_lvl_stop))"))
    Finch.resize_if_smaller!(y_lvl_2_val, A_lvl_stop)
    Finch.fill_range!(y_lvl_2_val, 0.0, 1, A_lvl_stop)
    y_lvl_2_val_2 = (Finch).transfer(CPUSharedMemory(CPU(Threads.nthreads())), y_lvl_2_val)
    A_lvl_3_val_2 = (Finch).transfer(CPUSharedMemory(CPU(Threads.nthreads())), A_lvl_3_val)
    A_lvl_2_ptr_2 = (Finch).transfer(CPUSharedMemory(CPU(Threads.nthreads())), A_lvl_2_ptr)
    A_lvl_2_idx_2 = (Finch).transfer(CPUSharedMemory(CPU(Threads.nthreads())), A_lvl_2_idx)
    x_lvl_2_val_2 = (Finch).transfer(CPUSharedMemory(CPU(Threads.nthreads())), x_lvl_2_val)
    Threads.@threads for tid = 1:Threads.nthreads()
            Finch.@barrier begin
                    @inbounds @fastmath(begin
                                y_lvl_2_val_3 = (Finch).transfer(CPUThread(tid, CPU(Threads.nthreads()), Serial()), y_lvl_2_val_2)
                                A_lvl_3_val_3 = (Finch).transfer(CPUThread(tid, CPU(Threads.nthreads()), Serial()), A_lvl_3_val_2)
                                A_lvl_2_ptr_3 = (Finch).transfer(CPUThread(tid, CPU(Threads.nthreads()), Serial()), A_lvl_2_ptr_2)
                                A_lvl_2_idx_3 = (Finch).transfer(CPUThread(tid, CPU(Threads.nthreads()), Serial()), A_lvl_2_idx_2)
                                x_lvl_2_val_3 = (Finch).transfer(CPUThread(tid, CPU(Threads.nthreads()), Serial()), x_lvl_2_val_2)
                                phase_start_2 = max(1, 1 + fld(A_lvl_stop * (tid + -1), Threads.nthreads()))
                                phase_stop_2 = min(A_lvl_stop, fld(A_lvl_stop * tid, Threads.nthreads()))
                                if phase_stop_2 >= phase_start_2
                                    for j_6 = phase_start_2:phase_stop_2
                                        y_lvl_q = (1 - 1) * A_lvl_stop + j_6
                                        A_lvl_q = (1 - 1) * A_lvl_stop + j_6
                                        A_lvl_2_q = A_lvl_2_ptr_3[A_lvl_q]
                                        A_lvl_2_q_stop = A_lvl_2_ptr_3[A_lvl_q + 1]
                                        if A_lvl_2_q < A_lvl_2_q_stop
                                            A_lvl_2_i1 = A_lvl_2_idx_3[A_lvl_2_q_stop - 1]
                                        else
                                            A_lvl_2_i1 = 0
                                        end
                                        phase_stop_3 = min(A_lvl_2_stop, A_lvl_2_i1)
                                        if phase_stop_3 >= 1
                                            if A_lvl_2_idx_3[A_lvl_2_q] < 1
                                                A_lvl_2_q = Finch.scansearch(A_lvl_2_idx_3, 1, A_lvl_2_q, A_lvl_2_q_stop - 1)
                                            end
                                            while true
                                                A_lvl_2_i = A_lvl_2_idx_3[A_lvl_2_q]
                                                if A_lvl_2_i < phase_stop_3
                                                    A_lvl_3_val_4 = A_lvl_3_val_3[A_lvl_2_q]
                                                    x_lvl_q = (1 - 1) * x_lvl_stop + A_lvl_2_i
                                                    x_lvl_2_val_4 = x_lvl_2_val_3[x_lvl_q]
                                                    y_lvl_2_val_3[y_lvl_q] = A_lvl_3_val_4 * x_lvl_2_val_4 + y_lvl_2_val_3[y_lvl_q]
                                                    A_lvl_2_q += 1
                                                else
                                                    phase_stop_5 = min(phase_stop_3, A_lvl_2_i)
                                                    if A_lvl_2_i == phase_stop_5
                                                        A_lvl_3_val_4 = A_lvl_3_val_3[A_lvl_2_q]
                                                        x_lvl_q = (1 - 1) * x_lvl_stop + phase_stop_5
                                                        x_lvl_2_val_5 = x_lvl_2_val_3[x_lvl_q]
                                                        y_lvl_2_val_3[y_lvl_q] += A_lvl_3_val_4 * x_lvl_2_val_5
                                                        A_lvl_2_q += 1
                                                    end
                                                    break
                                                end
                                            end
                                        end
                                    end
                                end
                                phase_start_6 = max(1, 1 + fld(A_lvl_stop * tid, Threads.nthreads()))
                                if A_lvl_stop >= phase_start_6
                                    A_lvl_stop + 1
                                end
                            end)
                    nothing
                end
        end
    resize!(y_lvl_2_val_2, A_lvl_stop)
    (y = Tensor((DenseLevel){Int64}(ElementLevel{0.0, Float64, Int64}(y_lvl_2_val_2), A_lvl_stop)),)
end
