; uop v1
%0 = param : dtype=f32 slot=2 size=3
%1 = const : dtype=i32 value=0
%2 = index %0, %1
%3 = param : dtype=f32 slot=0 size=3
%4 = index %3, %1
%5 = load %4
%6 = param : dtype=f32 slot=1 size=3
%7 = index %6, %1
%8 = load %7
%9 = add %5, %8
%10 = store %2, %9
%11 = after %0, %10
%12 = const : dtype=i32 value=1
%13 = index %11, %12
... 20 more lines
void add3(float *p0, float *p1, float *p2) {
  float *v0 = p2 + 0;
  float *v1 = p0 + 0;
  float v2 = *v1;
  float *v3 = p1 + 0;
  float v4 = *v3;
  float v5 = v2 + v4;
  *v0 = v5;
  float *v6 = p2 + 1;
  float *v7 = p0 + 1;
  float v8 = *v7;
  float *v9 = p1 + 1;
  float v10 = *v9;
  float v11 = v8 + v10;
  *v6 = v11;
  float *v12 = p2 + 2;
  float *v13 = p0 + 2;
  float v14 = *v13;
  float *v15 = p1 + 2;
  float v16 = *v15;
  float v17 = v14 + v16;
  *v12 = v17;
}

clang:       [11.0, 22.0, 33.0]
interpreter: [11.0, 22.0, 33.0]
