ENTRY_0: #succs=[dot_product_2]

EXIT_1: #succs=[]

dot_product_2: #succs=[dot_product_4, dot_product_5]
    [10] a: np_buf_t(float64) = a
    [11] b: np_buf_t(float64) = b
    [0] c: finch.float64 = 0.0
    [1] a_: np_buf_t(float64) = unpack(a) 	# a = ('a', 10)
    [2] b_: np_buf_t(float64) = unpack(b) 	# b = ('b', 11)
    j: finch.int64 = 0

dot_product_3: #succs=[EXIT_1]

dot_product_4: #succs=[dot_product_4, dot_product_5]
    [8] assert(lt(j, length(slot(a_, np_buf_t(float64)))))
    [7] i: finch.int64 = j
    [3] c: finch.float64 = add(c, mul(load(slot(a_, np_buf_t(float64)), i), load(slot(b_, np_buf_t(float64)), i)))
    j: finch.int64 = add(j, 1)

dot_product_5: #succs=[dot_product_3]
    [9] assert(not_(lt(j, length(slot(a_, np_buf_t(float64))))))
    [4] repack(a_)
    [5] repack(b_)
    [6] return c

dot_product_6: #succs=[dot_product_3]
