proc %fifo_v3.param6.always_comb.2379.6 (i1$ %full_o, i1$ %empty_o, {i5, i1, i3, i2}$ %data_i, i1$ %push_i, i1$ %pop_i, i1$ %read_pointer_n, i1$ %read_pointer_q, i1$ %write_pointer_q, i2$ %status_cnt_q, [1 x {i5, i1, i3, i2}]$ %mem_q) -> ({i5, i1, i3, i2}$ %data_o, i1$ %gate_clock, i1$ %read_pointer_n1, i1$ %write_pointer_n, i2$ %status_cnt_n, [1 x {i5, i1, i3, i2}]$ %mem_n) { 0: %1 = prb i1$ %read_pointer_n1 %read_pointer_n.shadow = var i1 %1 br %body body: %2 = prb i1$ %read_pointer_n1 st i1* %read_pointer_n.shadow, %2 %read_pointer_q1 = prb i1$ %read_pointer_q %3 = const time 0s 1e drv i1$ %read_pointer_n1, %read_pointer_q1, %3 st i1* %read_pointer_n.shadow, %read_pointer_q1 %write_pointer_q1 = prb i1$ %write_pointer_q %4 = const time 0s 1e drv i1$ %write_pointer_n, %write_pointer_q1, %4 %status_cnt_q1 = prb i2$ %status_cnt_q %5 = const time 0s 1e drv i2$ %status_cnt_n, %status_cnt_q1, %5 %6 = const i32 1 %7 = const i32 0 %8 = eq i32 %6, %7 %9 = const i11 0 %data_i1 = prb {i5, i1, i3, i2}$ %data_i %10 = extf i2, {i5, i1, i3, i2} %data_i1, 3 %11 = inss i11 %9, i2 %10, 0, 2 %data_i2 = prb {i5, i1, i3, i2}$ %data_i %12 = extf i3, {i5, i1, i3, i2} %data_i2, 2 %13 = inss i11 %11, i3 %12, 2, 3 %data_i3 = prb {i5, i1, i3, i2}$ %data_i %14 = extf i1, {i5, i1, i3, i2} %data_i3, 1 %15 = inss i11 %13, i1 %14, 5, 1 %data_i4 = prb {i5, i1, i3, i2}$ %data_i %16 = extf i5, {i5, i1, i3, i2} %data_i4, 0 %17 = inss i11 %15, i5 %16, 6, 5 %18 = const i11 0 %mem_q1 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q2 = prb i1$ %read_pointer_q %19 = const i5 0 %20 = const i1 0 %21 = const i3 0 %22 = const i2 0 %23 = {i5 %19, i1 %20, i3 %21, i2 %22} %24 = [1 x {i5, i1, i3, i2} %23] %25 = shr [1 x {i5, i1, i3, i2}] %mem_q1, [1 x {i5, i1, i3, i2}] %24, i1 %read_pointer_q2 %26 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %25, 0 %27 = extf i2, {i5, i1, i3, i2} %26, 3 %28 = inss i11 %18, i2 %27, 0, 2 %mem_q2 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q3 = prb i1$ %read_pointer_q %29 = const i5 0 %30 = const i1 0 %31 = const i3 0 %32 = const i2 0 %33 = {i5 %29, i1 %30, i3 %31, i2 %32} %34 = [1 x {i5, i1, i3, i2} %33] %35 = shr [1 x {i5, i1, i3, i2}] %mem_q2, [1 x {i5, i1, i3, i2}] %34, i1 %read_pointer_q3 %36 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %35, 0 %37 = extf i3, {i5, i1, i3, i2} %36, 2 %38 = inss i11 %28, i3 %37, 2, 3 %mem_q3 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q4 = prb i1$ %read_pointer_q %39 = const i5 0 %40 = const i1 0 %41 = const i3 0 %42 = const i2 0 %43 = {i5 %39, i1 %40, i3 %41, i2 %42} %44 = [1 x {i5, i1, i3, i2} %43] %45 = shr [1 x {i5, i1, i3, i2}] %mem_q3, [1 x {i5, i1, i3, i2}] %44, i1 %read_pointer_q4 %46 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %45, 0 %47 = extf i1, {i5, i1, i3, i2} %46, 1 %48 = inss i11 %38, i1 %47, 5, 1 %mem_q4 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q5 = prb i1$ %read_pointer_q %49 = const i5 0 %50 = const i1 0 %51 = const i3 0 %52 = const i2 0 %53 = {i5 %49, i1 %50, i3 %51, i2 %52} %54 = [1 x {i5, i1, i3, i2} %53] %55 = shr [1 x {i5, i1, i3, i2}] %mem_q4, [1 x {i5, i1, i3, i2}] %54, i1 %read_pointer_q5 %56 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %55, 0 %57 = extf i5, {i5, i1, i3, i2} %56, 0 %58 = inss i11 %48, i5 %57, 6, 5 %59 = [i11 %58, %17] %60 = mux [2 x i11] %59, i1 %8 %61 = const i32 0 %62 = const i11 0 %63 = shr i11 %60, i11 %62, i32 %61 %64 = exts i5, i11 %63, 0, 5 %65 = const i32 1 %66 = const i32 0 %67 = eq i32 %65, %66 %68 = const i11 0 %data_i5 = prb {i5, i1, i3, i2}$ %data_i %69 = extf i2, {i5, i1, i3, i2} %data_i5, 3 %70 = inss i11 %68, i2 %69, 0, 2 %data_i6 = prb {i5, i1, i3, i2}$ %data_i %71 = extf i3, {i5, i1, i3, i2} %data_i6, 2 %72 = inss i11 %70, i3 %71, 2, 3 %data_i7 = prb {i5, i1, i3, i2}$ %data_i %73 = extf i1, {i5, i1, i3, i2} %data_i7, 1 %74 = inss i11 %72, i1 %73, 5, 1 %data_i8 = prb {i5, i1, i3, i2}$ %data_i %75 = extf i5, {i5, i1, i3, i2} %data_i8, 0 %76 = inss i11 %74, i5 %75, 6, 5 %77 = const i11 0 %mem_q5 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q6 = prb i1$ %read_pointer_q %78 = const i5 0 %79 = const i1 0 %80 = const i3 0 %81 = const i2 0 %82 = {i5 %78, i1 %79, i3 %80, i2 %81} %83 = [1 x {i5, i1, i3, i2} %82] %84 = shr [1 x {i5, i1, i3, i2}] %mem_q5, [1 x {i5, i1, i3, i2}] %83, i1 %read_pointer_q6 %85 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %84, 0 %86 = extf i2, {i5, i1, i3, i2} %85, 3 %87 = inss i11 %77, i2 %86, 0, 2 %mem_q6 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q7 = prb i1$ %read_pointer_q %88 = const i5 0 %89 = const i1 0 %90 = const i3 0 %91 = const i2 0 %92 = {i5 %88, i1 %89, i3 %90, i2 %91} %93 = [1 x {i5, i1, i3, i2} %92] %94 = shr [1 x {i5, i1, i3, i2}] %mem_q6, [1 x {i5, i1, i3, i2}] %93, i1 %read_pointer_q7 %95 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %94, 0 %96 = extf i3, {i5, i1, i3, i2} %95, 2 %97 = inss i11 %87, i3 %96, 2, 3 %mem_q7 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q8 = prb i1$ %read_pointer_q %98 = const i5 0 %99 = const i1 0 %100 = const i3 0 %101 = const i2 0 %102 = {i5 %98, i1 %99, i3 %100, i2 %101} %103 = [1 x {i5, i1, i3, i2} %102] %104 = shr [1 x {i5, i1, i3, i2}] %mem_q7, [1 x {i5, i1, i3, i2}] %103, i1 %read_pointer_q8 %105 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %104, 0 %106 = extf i1, {i5, i1, i3, i2} %105, 1 %107 = inss i11 %97, i1 %106, 5, 1 %mem_q8 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q9 = prb i1$ %read_pointer_q %108 = const i5 0 %109 = const i1 0 %110 = const i3 0 %111 = const i2 0 %112 = {i5 %108, i1 %109, i3 %110, i2 %111} %113 = [1 x {i5, i1, i3, i2} %112] %114 = shr [1 x {i5, i1, i3, i2}] %mem_q8, [1 x {i5, i1, i3, i2}] %113, i1 %read_pointer_q9 %115 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %114, 0 %116 = extf i5, {i5, i1, i3, i2} %115, 0 %117 = inss i11 %107, i5 %116, 6, 5 %118 = [i11 %117, %76] %119 = mux [2 x i11] %118, i1 %67 %120 = const i32 5 %121 = const i11 0 %122 = shr i11 %119, i11 %121, i32 %120 %123 = exts i1, i11 %122, 0, 1 %124 = const i32 1 %125 = const i32 0 %126 = eq i32 %124, %125 %127 = const i11 0 %data_i9 = prb {i5, i1, i3, i2}$ %data_i %128 = extf i2, {i5, i1, i3, i2} %data_i9, 3 %129 = inss i11 %127, i2 %128, 0, 2 %data_i10 = prb {i5, i1, i3, i2}$ %data_i %130 = extf i3, {i5, i1, i3, i2} %data_i10, 2 %131 = inss i11 %129, i3 %130, 2, 3 %data_i11 = prb {i5, i1, i3, i2}$ %data_i %132 = extf i1, {i5, i1, i3, i2} %data_i11, 1 %133 = inss i11 %131, i1 %132, 5, 1 %data_i12 = prb {i5, i1, i3, i2}$ %data_i %134 = extf i5, {i5, i1, i3, i2} %data_i12, 0 %135 = inss i11 %133, i5 %134, 6, 5 %136 = const i11 0 %mem_q9 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q10 = prb i1$ %read_pointer_q %137 = const i5 0 %138 = const i1 0 %139 = const i3 0 %140 = const i2 0 %141 = {i5 %137, i1 %138, i3 %139, i2 %140} %142 = [1 x {i5, i1, i3, i2} %141] %143 = shr [1 x {i5, i1, i3, i2}] %mem_q9, [1 x {i5, i1, i3, i2}] %142, i1 %read_pointer_q10 %144 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %143, 0 %145 = extf i2, {i5, i1, i3, i2} %144, 3 %146 = inss i11 %136, i2 %145, 0, 2 %mem_q10 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q11 = prb i1$ %read_pointer_q %147 = const i5 0 %148 = const i1 0 %149 = const i3 0 %150 = const i2 0 %151 = {i5 %147, i1 %148, i3 %149, i2 %150} %152 = [1 x {i5, i1, i3, i2} %151] %153 = shr [1 x {i5, i1, i3, i2}] %mem_q10, [1 x {i5, i1, i3, i2}] %152, i1 %read_pointer_q11 %154 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %153, 0 %155 = extf i3, {i5, i1, i3, i2} %154, 2 %156 = inss i11 %146, i3 %155, 2, 3 %mem_q11 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q12 = prb i1$ %read_pointer_q %157 = const i5 0 %158 = const i1 0 %159 = const i3 0 %160 = const i2 0 %161 = {i5 %157, i1 %158, i3 %159, i2 %160} %162 = [1 x {i5, i1, i3, i2} %161] %163 = shr [1 x {i5, i1, i3, i2}] %mem_q11, [1 x {i5, i1, i3, i2}] %162, i1 %read_pointer_q12 %164 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %163, 0 %165 = extf i1, {i5, i1, i3, i2} %164, 1 %166 = inss i11 %156, i1 %165, 5, 1 %mem_q12 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q13 = prb i1$ %read_pointer_q %167 = const i5 0 %168 = const i1 0 %169 = const i3 0 %170 = const i2 0 %171 = {i5 %167, i1 %168, i3 %169, i2 %170} %172 = [1 x {i5, i1, i3, i2} %171] %173 = shr [1 x {i5, i1, i3, i2}] %mem_q12, [1 x {i5, i1, i3, i2}] %172, i1 %read_pointer_q13 %174 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %173, 0 %175 = extf i5, {i5, i1, i3, i2} %174, 0 %176 = inss i11 %166, i5 %175, 6, 5 %177 = [i11 %176, %135] %178 = mux [2 x i11] %177, i1 %126 %179 = const i32 6 %180 = const i11 0 %181 = shr i11 %178, i11 %180, i32 %179 %182 = exts i3, i11 %181, 0, 3 %183 = const i32 1 %184 = const i32 0 %185 = eq i32 %183, %184 %186 = const i11 0 %data_i13 = prb {i5, i1, i3, i2}$ %data_i %187 = extf i2, {i5, i1, i3, i2} %data_i13, 3 %188 = inss i11 %186, i2 %187, 0, 2 %data_i14 = prb {i5, i1, i3, i2}$ %data_i %189 = extf i3, {i5, i1, i3, i2} %data_i14, 2 %190 = inss i11 %188, i3 %189, 2, 3 %data_i15 = prb {i5, i1, i3, i2}$ %data_i %191 = extf i1, {i5, i1, i3, i2} %data_i15, 1 %192 = inss i11 %190, i1 %191, 5, 1 %data_i16 = prb {i5, i1, i3, i2}$ %data_i %193 = extf i5, {i5, i1, i3, i2} %data_i16, 0 %194 = inss i11 %192, i5 %193, 6, 5 %195 = const i11 0 %mem_q13 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q14 = prb i1$ %read_pointer_q %196 = const i5 0 %197 = const i1 0 %198 = const i3 0 %199 = const i2 0 %200 = {i5 %196, i1 %197, i3 %198, i2 %199} %201 = [1 x {i5, i1, i3, i2} %200] %202 = shr [1 x {i5, i1, i3, i2}] %mem_q13, [1 x {i5, i1, i3, i2}] %201, i1 %read_pointer_q14 %203 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %202, 0 %204 = extf i2, {i5, i1, i3, i2} %203, 3 %205 = inss i11 %195, i2 %204, 0, 2 %mem_q14 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q15 = prb i1$ %read_pointer_q %206 = const i5 0 %207 = const i1 0 %208 = const i3 0 %209 = const i2 0 %210 = {i5 %206, i1 %207, i3 %208, i2 %209} %211 = [1 x {i5, i1, i3, i2} %210] %212 = shr [1 x {i5, i1, i3, i2}] %mem_q14, [1 x {i5, i1, i3, i2}] %211, i1 %read_pointer_q15 %213 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %212, 0 %214 = extf i3, {i5, i1, i3, i2} %213, 2 %215 = inss i11 %205, i3 %214, 2, 3 %mem_q15 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q16 = prb i1$ %read_pointer_q %216 = const i5 0 %217 = const i1 0 %218 = const i3 0 %219 = const i2 0 %220 = {i5 %216, i1 %217, i3 %218, i2 %219} %221 = [1 x {i5, i1, i3, i2} %220] %222 = shr [1 x {i5, i1, i3, i2}] %mem_q15, [1 x {i5, i1, i3, i2}] %221, i1 %read_pointer_q16 %223 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %222, 0 %224 = extf i1, {i5, i1, i3, i2} %223, 1 %225 = inss i11 %215, i1 %224, 5, 1 %mem_q16 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %read_pointer_q17 = prb i1$ %read_pointer_q %226 = const i5 0 %227 = const i1 0 %228 = const i3 0 %229 = const i2 0 %230 = {i5 %226, i1 %227, i3 %228, i2 %229} %231 = [1 x {i5, i1, i3, i2} %230] %232 = shr [1 x {i5, i1, i3, i2}] %mem_q16, [1 x {i5, i1, i3, i2}] %231, i1 %read_pointer_q17 %233 = extf {i5, i1, i3, i2}, [1 x {i5, i1, i3, i2}] %232, 0 %234 = extf i5, {i5, i1, i3, i2} %233, 0 %235 = inss i11 %225, i5 %234, 6, 5 %236 = [i11 %235, %194] %237 = mux [2 x i11] %236, i1 %185 %238 = const i32 9 %239 = const i11 0 %240 = shr i11 %237, i11 %239, i32 %238 %241 = exts i2, i11 %240, 0, 2 %242 = {i5 %64, i1 %123, i3 %182, i2 %241} %243 = const time 0s 1e drv {i5, i1, i3, i2}$ %data_o, %242, %243 %mem_q17 = prb [1 x {i5, i1, i3, i2}]$ %mem_q %244 = const time 0s 1e drv [1 x {i5, i1, i3, i2}]$ %mem_n, %mem_q17, %244 %245 = const i1 1 %246 = const time 0s 1e drv i1$ %gate_clock, %245, %246 %push_i1 = prb i1$ %push_i %full_o1 = prb i1$ %full_o %247 = not i1 %full_o1 %248 = and i1 %push_i1, %247 br %248, %if_false, %if_true check: wait %body, %full_o, %empty_o, %data_i, %push_i, %pop_i, %read_pointer_n1, %read_pointer_q, %write_pointer_q, %status_cnt_q, %mem_q if_true: %write_pointer_q2 = prb i1$ %write_pointer_q %249 = const i5 0 %250 = const i1 0 %251 = const i3 0 %252 = const i2 0 %253 = {i5 %249, i1 %250, i3 %251, i2 %252} %254 = [1 x {i5, i1, i3, i2} %253] %255 = sig [1 x {i5, i1, i3, i2}] %254 %256 = shr [1 x {i5, i1, i3, i2}]$ %mem_n, [1 x {i5, i1, i3, i2}]$ %255, i1 %write_pointer_q2 %257 = extf {i5, i1, i3, i2}$, [1 x {i5, i1, i3, i2}]$ %256, 0 %data_i17 = prb {i5, i1, i3, i2}$ %data_i %258 = const time 0s 1e drv {i5, i1, i3, i2}$ %257, %data_i17, %258 %259 = const i1 0 %260 = const time 0s 1e drv i1$ %gate_clock, %259, %260 %261 = const i32 0 %write_pointer_q3 = prb i1$ %write_pointer_q %262 = inss i32 %261, i1 %write_pointer_q3, 0, 1 %263 = const i32 1 %264 = const i1 0 %265 = const i32 0 %266 = shr i32 %263, i32 %265, i1 %264 %267 = exts i1, i32 %266, 0, 1 %268 = exts i1, i1 %267, 0, 1 %269 = const i32 0 %270 = not i32 %269 %271 = [i32 %269, %270] %272 = mux [2 x i32] %271, i1 %268 %273 = inss i32 %272, i1 %267, 0, 1 %274 = const i32 1 %275 = sub i32 %273, %274 %276 = eq i32 %262, %275 br %276, %if_false1, %if_true1 if_false: br %if_exit if_exit: %pop_i1 = prb i1$ %pop_i %empty_o1 = prb i1$ %empty_o %277 = not i1 %empty_o1 %278 = and i1 %pop_i1, %277 br %278, %if_false2, %if_true2 if_true1: %279 = const i1 0 %280 = const time 0s 1e drv i1$ %write_pointer_n, %279, %280 br %if_exit1 if_false1: %281 = const i32 0 %write_pointer_q4 = prb i1$ %write_pointer_q %282 = inss i32 %281, i1 %write_pointer_q4, 0, 1 %283 = const i32 1 %284 = add i32 %282, %283 %285 = exts i1, i32 %284, 0, 1 %286 = const time 0s 1e drv i1$ %write_pointer_n, %285, %286 br %if_exit1 if_exit1: %287 = const i32 0 %status_cnt_q2 = prb i2$ %status_cnt_q %288 = inss i32 %287, i2 %status_cnt_q2, 0, 2 %289 = const i32 1 %290 = add i32 %288, %289 %291 = exts i2, i32 %290, 0, 2 %292 = const time 0s 1e drv i2$ %status_cnt_n, %291, %292 br %if_exit if_true2: %293 = const i32 0 %read_pointer_n2 = ld i1* %read_pointer_n.shadow %294 = inss i32 %293, i1 %read_pointer_n2, 0, 1 %295 = const i32 1 %296 = const i1 0 %297 = const i32 0 %298 = shr i32 %295, i32 %297, i1 %296 %299 = exts i1, i32 %298, 0, 1 %300 = exts i1, i1 %299, 0, 1 %301 = const i32 0 %302 = not i32 %301 %303 = [i32 %301, %302] %304 = mux [2 x i32] %303, i1 %300 %305 = inss i32 %304, i1 %299, 0, 1 %306 = const i32 1 %307 = sub i32 %305, %306 %308 = eq i32 %294, %307 br %308, %if_false3, %if_true3 if_false2: br %if_exit2 if_exit2: %push_i2 = prb i1$ %push_i %pop_i2 = prb i1$ %pop_i %full_o2 = prb i1$ %full_o %309 = not i1 %full_o2 %empty_o2 = prb i1$ %empty_o %310 = not i1 %empty_o2 %311 = and i1 %309, %310 %312 = and i1 %pop_i2, %311 %313 = and i1 %push_i2, %312 br %313, %if_false4, %if_true4 if_true3: %314 = const i1 0 %315 = const time 0s 1e drv i1$ %read_pointer_n1, %314, %315 st i1* %read_pointer_n.shadow, %314 br %if_exit3 if_false3: %316 = const i32 0 %read_pointer_q18 = prb i1$ %read_pointer_q %317 = inss i32 %316, i1 %read_pointer_q18, 0, 1 %318 = const i32 1 %319 = add i32 %317, %318 %320 = exts i1, i32 %319, 0, 1 %321 = const time 0s 1e drv i1$ %read_pointer_n1, %320, %321 st i1* %read_pointer_n.shadow, %320 br %if_exit3 if_exit3: %322 = const i32 0 %status_cnt_q3 = prb i2$ %status_cnt_q %323 = inss i32 %322, i2 %status_cnt_q3, 0, 2 %324 = const i32 1 %325 = sub i32 %323, %324 %326 = exts i2, i32 %325, 0, 2 %327 = const time 0s 1e drv i2$ %status_cnt_n, %326, %327 br %if_exit2 if_true4: %status_cnt_q4 = prb i2$ %status_cnt_q %328 = const time 0s 1e drv i2$ %status_cnt_n, %status_cnt_q4, %328 br %if_exit4 if_false4: br %if_exit4 if_exit4: %329 = const i1 0 %330 = const i32 0 %status_cnt_q5 = prb i2$ %status_cnt_q %331 = inss i32 %330, i2 %status_cnt_q5, 0, 2 %332 = const i32 0 %333 = eq i32 %331, %332 %push_i3 = prb i1$ %push_i %334 = and i1 %333, %push_i3 %335 = and i1 %329, %334 br %335, %if_false5, %if_true5 if_true5: %data_i18 = prb {i5, i1, i3, i2}$ %data_i %336 = const time 0s 1e drv {i5, i1, i3, i2}$ %data_o, %data_i18, %336 %pop_i3 = prb i1$ %pop_i br %pop_i3, %if_false6, %if_true6 if_false5: br %if_exit5 if_exit5: br %check if_true6: %status_cnt_q6 = prb i2$ %status_cnt_q %337 = const time 0s 1e drv i2$ %status_cnt_n, %status_cnt_q6, %337 %read_pointer_q19 = prb i1$ %read_pointer_q %338 = const time 0s 1e drv i1$ %read_pointer_n1, %read_pointer_q19, %338 st i1* %read_pointer_n.shadow, %read_pointer_q19 %write_pointer_q5 = prb i1$ %write_pointer_q %339 = const time 0s 1e drv i1$ %write_pointer_n, %write_pointer_q5, %339 br %if_exit6 if_false6: br %if_exit6 if_exit6: br %if_exit5 }