code: def element_wise_env_thread_x(
      a: T.handle, b: T.handle, c: T.handle
  ) -> None:
      j1_0 = T.env_thread("threadIdx.x")
      j0_0 = T.env_thread("threadIdx.x")
      i = T.env_thread("blockIdx.x")
      A = T.match_buffer(a, [128, 128])
      B = T.match_buffer(b, [128, 128])
      C = T.match_buffer(c, [128, 128])
      T.launch_thread(i, 128)
      T.launch_thread(j0_0, 4)
      T.launch_thread(j1_0, 4)
  
      for blockIdx_x in T.thread_binding(0, 128, "blockIdx.x"):
          for threadIdx_x in T.thread_binding(0, 4, "threadIdx.x"):
              for j0_1 in T.serial(0, 32):
                  with T.block(""):
                      B[blockIdx_x, threadIdx_x * 32 + j0_1] = (
                          A[blockIdx_x, threadIdx_x * 32 + j0_1] * 2.0
                      )
              for j1_1 in T.serial(0, 32):
                  with T.block(""):
                      C[blockIdx_x, threadIdx_x * 32 + j1_1] = (
                          B[blockIdx_x, threadIdx_x * 32 + j1_1] + 1.0
                      )
  
imports: from tvm.script import tir
label_desc: Use image node_id 2 for calling a global function with example usage: element_wise_env_thread_x(a, b, c) without return types