begin
    y_lvl = ((ex.bodies[1]).bodies[1]).tns.bind.lvl
    y_lvl_2 = y_lvl.lvl
    y_lvl_locks = y_lvl.lvl.locks
    y_lvl_3 = y_lvl_2.lvl
    y_lvl_2_val = y_lvl_2.lvl.val
    x_lvl = ((ex.bodies[1]).bodies[2]).body.rhs.tns.bind.lvl
    x_lvl_val = x_lvl.lvl.val
    y_j = (((ex.bodies[1]).bodies[2]).body.body.bodies[1]).tns.bind
    A_lvl = (((ex.bodies[1]).bodies[2]).body.body.bodies[2]).body.rhs.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
    diag_lvl = (((((ex.bodies[1]).bodies[2]).body.body.bodies[3]).rhs.args[2]).args[1]).tns.bind.lvl
    diag_lvl_val = diag_lvl.lvl.val
    x_lvl.shape == A_lvl.shape || throw(DimensionMismatch("mismatched dimension limits ($(x_lvl.shape) != $(A_lvl.shape))"))
    x_lvl.shape == A_lvl_2.shape || throw(DimensionMismatch("mismatched dimension limits ($(x_lvl.shape) != $(A_lvl_2.shape))"))
    x_lvl.shape == diag_lvl.shape || throw(DimensionMismatch("mismatched dimension limits ($(x_lvl.shape) != $(diag_lvl.shape))"))
    result = nothing
    Finch.resize_if_smaller!(y_lvl_locks, x_lvl.shape)
    @inbounds for idx = 1:x_lvl.shape
            y_lvl_locks[idx] = make_lock(eltype(Vector{Base.Threads.SpinLock}))
        end
    Finch.resize_if_smaller!(y_lvl_2_val, x_lvl.shape)
    Finch.fill_range!(y_lvl_2_val, 0.0, 1, x_lvl.shape)
    x_lvl_val = (Finch).moveto(x_lvl_val, CPU(Threads.nthreads()))
    A_lvl_ptr = (Finch).moveto(A_lvl_ptr, CPU(Threads.nthreads()))
    A_lvl_idx = (Finch).moveto(A_lvl_idx, CPU(Threads.nthreads()))
    A_lvl_2_val = (Finch).moveto(A_lvl_2_val, CPU(Threads.nthreads()))
    locksArray = y_lvl_locks
    y_lvl_locks = (Finch).moveto(y_lvl_locks, CPU(Threads.nthreads()))
    val_3 = y_lvl_2_val
    y_lvl_2_val = (Finch).moveto(y_lvl_2_val, CPU(Threads.nthreads()))
    diag_lvl_val = (Finch).moveto(diag_lvl_val, CPU(Threads.nthreads()))
    Threads.@threads for i_5 = 1:Threads.nthreads()
            phase_start_2 = max(1, 1 + fld(x_lvl.shape * (i_5 + -1), Threads.nthreads()))
            phase_stop_2 = min(x_lvl.shape, fld(x_lvl.shape * i_5, Threads.nthreads()))
            if phase_stop_2 >= phase_start_2
                for j_8 = phase_start_2:phase_stop_2
                    x_lvl_q = (1 - 1) * x_lvl.shape + j_8
                    A_lvl_q = (1 - 1) * A_lvl.shape + j_8
                    y_lvl_q_2 = (1 - 1) * x_lvl.shape + j_8
                    diag_lvl_q = (1 - 1) * diag_lvl.shape + j_8
                    x_lvl_2_val = x_lvl_val[x_lvl_q]
                    y_lvl_2atomicArraysAcc = get_lock(CPU(Threads.nthreads()), y_lvl_locks, y_lvl_q_2, eltype(Vector{Base.Threads.SpinLock}))
                    aquire_lock!(CPU(Threads.nthreads()), y_lvl_2atomicArraysAcc)
                    diag_lvl_2_val = diag_lvl_val[diag_lvl_q]
                    y_j_val = 0
                    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_3 = min(x_lvl.shape, A_lvl_2_i1)
                    if phase_stop_3 >= 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_3
                                A_lvl_3_val = A_lvl_2_val[A_lvl_2_q]
                                y_lvl_q = (1 - 1) * x_lvl.shape + A_lvl_2_i
                                x_lvl_q_2 = (1 - 1) * x_lvl.shape + A_lvl_2_i
                                y_lvl_2atomicArraysAcc_2 = get_lock(CPU(Threads.nthreads()), y_lvl_locks, y_lvl_q, eltype(Vector{Base.Threads.SpinLock}))
                                aquire_lock!(CPU(Threads.nthreads()), y_lvl_2atomicArraysAcc_2)
                                x_lvl_2_val_2 = x_lvl_val[x_lvl_q_2]
                                y_lvl_2_val[y_lvl_q] = A_lvl_3_val * x_lvl_2_val + y_lvl_2_val[y_lvl_q]
                                y_j_val = A_lvl_3_val * x_lvl_2_val_2 + y_j_val
                                release_lock!(CPU(Threads.nthreads()), y_lvl_2atomicArraysAcc_2)
                                A_lvl_2_q += 1
                            else
                                phase_stop_5 = min(A_lvl_2_i, phase_stop_3)
                                if A_lvl_2_i == phase_stop_5
                                    A_lvl_3_val = A_lvl_2_val[A_lvl_2_q]
                                    y_lvl_q = (1 - 1) * x_lvl.shape + phase_stop_5
                                    x_lvl_q_2 = (1 - 1) * x_lvl.shape + phase_stop_5
                                    y_lvl_2atomicArraysAcc_3 = get_lock(CPU(Threads.nthreads()), y_lvl_locks, y_lvl_q, eltype(Vector{Base.Threads.SpinLock}))
                                    aquire_lock!(CPU(Threads.nthreads()), y_lvl_2atomicArraysAcc_3)
                                    x_lvl_2_val_3 = x_lvl_val[x_lvl_q_2]
                                    y_lvl_2_val[y_lvl_q] = A_lvl_3_val * x_lvl_2_val + y_lvl_2_val[y_lvl_q]
                                    y_j_val += A_lvl_3_val * x_lvl_2_val_3
                                    release_lock!(CPU(Threads.nthreads()), y_lvl_2atomicArraysAcc_3)
                                    A_lvl_2_q += 1
                                end
                                break
                            end
                        end
                    end
                    y_j.val = y_j_val
                    y_lvl_2_val[y_lvl_q_2] = y_j_val + y_lvl_2_val[y_lvl_q_2] + x_lvl_2_val * diag_lvl_2_val
                    release_lock!(CPU(Threads.nthreads()), y_lvl_2atomicArraysAcc)
                end
            end
        end
    resize!(locksArray, x_lvl.shape)
    resize!(val_3, x_lvl.shape)
    result = (y = Tensor((DenseLevel){Int32}((AtomicLevel){Vector{Base.Threads.SpinLock}, ElementLevel{0.0, Float64, Int32, Vector{Float64}}}(y_lvl_3, locksArray), x_lvl.shape)),)
    result
end
