23:     MOV TEMP[4].x, TEMP[6].xxxx
 24:   ENDLOOP :7
 25:   ADD TEMP[1].x, TEMP[4].xxxx, IMM[1].wwww
 26:   MAD TEMP[6].x, -IMM[2].xxxx, TEMP[3].xxxx, TEMP[1].xxxx
 27:   MUL TEMP[1].x, IMM[1].yyyy, IMM[3].xxxx
 28:   MAX TEMP[4].x, TEMP[6].xxxx, TEMP[1].xxxx
 29:   MOV TEMP[1].x, TEMP[4].xxxx
 30:   MOV TEMP[3].xy, IN[0].xyxx
 31:   MOV TEMP[5].x, IMM[1].wwww
 32:   BGNLOOP :49
 33:     MUL TEMP[6].x, IMM[2].xxxx, IMM[3].xxxx
 34:     SGE TEMP[4].x, TEMP[5].xxxx, TEMP[6].xxxx
 35:     IF TEMP[4].xxxx :37
 36:       BRK
 37:     ENDIF
 38:     MOV TEMP[5].y, IMM[0].xxxx
 39:     MAD TEMP[4].xyz, CONST[0][0].xyyy, TEMP[5].xyyy, TEMP[3].xyyy
 40:     MOV TEMP[4].w, IMM[0].xxxx
 41:     TXL TEMP[6].xy, TEMP[4], SAMP[2], 2D
 42:     MOV TEMP[4].x, TEMP[6].yyyy
 43:     SLT TEMP[0].x, TEMP[6].yyyy, IMM[1].zzzz
 44:     IF TEMP[0].xxxx :46
 45:       BRK
 46:     ENDIF
 47:     ADD TEMP[6].x, TEMP[5].xxxx, IMM[2].xxxx
 48:     MOV TEMP[5].x, TEMP[6].xxxx
 49:   ENDLOOP :32
 50:   ADD TEMP[3].x, TEMP[5].xxxx, IMM[1].xxxx
 51:   MAD TEMP[5].x, IMM[2].xxxx, TEMP[4].xxxx, TEMP[3].xxxx
 52:   MUL TEMP[3].x, IMM[2].xxxx, IMM[3].xxxx
 53:   MIN TEMP[4].x, TEMP[5].xxxx, TEMP[3].xxxx
 54:   MOV TEMP[3].x, TEMP[1].xxxx
 55:   MOV TEMP[3].y, TEMP[4].xxxx
 56:   MOV TEMP[5].yw, IMM[0].yyyy
 57:   MOV TEMP[5].x, TEMP[1].xxxx
 58:   ADD TEMP[1].x, TEMP[4].xxxx, IMM[2].yyyy
 59:   MOV TEMP[5].z, TEMP[1].xxxx
 60:   MAD TEMP[1], TEMP[5], CONST[0][0].xyxy, IN[0].xyxy
 61:   MOV TEMP[4], TEMP[1].xyyy
 62:   MOV TEMP[4].w, IMM[0].xxxx
 63:   TXL TEMP[5].x, TEMP[4], SAMP[2], 2D
 64:   MOV TEMP[4].x, TEMP[5].xxxx
 65:   MOV TEMP[5], TEMP[1].zwww
 66:   MOV TEMP[5].w, IMM[0].xxxx
 67:   TXL TEMP[1].x, TEMP[5], SAMP[2], 2D
 68:   MOV TEMP[4].y, TEMP[1].xxxx
 69:   MUL TEMP[5].xy, IMM[2].zzzz, TEMP[4].xyyy
 70:   ROUND TEMP[1].xy, TEMP[5].xyyy
 71:   MOV TEMP[4].xy, |TEMP[3].xyyy|
 72:   MAD TEMP[3].xy, IMM[2].wwww, TEMP[1].xyyy, TEMP[4].xyyy
 73:   MUL TEMP[5].xyz, TEMP[3].xyyy, IMM[0].zzzz
 74:   MOV TEMP[5].w, IMM[0].xxxx
 75:   TXL TEMP[0].xy, TEMP[5], SAMP[0], 2D
 76: ENDIF
 77: SNE TEMP[1].x, TEMP[2].xxxx, IMM[0].xxxx
 78: IF TEMP[1].xxxx :151
 79:   MOV TEMP[1].xy, IN[0].xyxx
 80:   MOV TEMP[3].x, IMM[1].xxxx
 81:   BGNLOOP :98
 82:     MUL TEMP[4].x, IMM[1].yyyy, IMM[3].xxxx
 83:     SLE TEMP[5].x, TEMP[3].xxxx, TEMP[4].xxxx
 84:     IF TEMP[5].xxxx :86
 85:       BRK
 86:     ENDIF
 87:     MOV TEMP[3].y, IMM[0].xxxx
 88:     MAD TEMP[5].xyz, CONST[0][0].xyyy, TEMP[3].yxxx, TEMP[1].xyyy
 89:     MOV TEMP[5].w, IMM[0].xxxx
 90:     TXL TEMP[4], TEMP[5], SAMP[2], 2D
 91:     MOV TEMP[2].x, TEMP[4].xxxx
 92:     SLT TEMP[5].x, TEMP[4].xxxx, IMM[1].zzzz
 93:     IF TEMP[5].xxxx :95
 94:       BRK
 95:     ENDIF
 96:     ADD TEMP[4].x, TEMP[3].xxxx, IMM[1].yyyy
 97:     MOV TEMP[3].x, TEMP[4].xxxx
 98:   ENDLOOP :81
 99:   ADD TEMP[1].x, TEMP[3].xxxx, IMM[1].wwww
100:   MAD TEMP[6].x, -IMM[2].xxxx, TEMP[2].xxxx, TEMP[1].xxxx
101:   MUL TEMP[1].x, IMM[1].yyyy, IMM[3].xxxx
102:   MAX TEMP[3].x, TEMP[6].xxxx, TEMP[1].xxxx
103:   MOV TEMP[1].x, TEMP[3].xxxx
104:   MOV TEMP[2].xy, IN[0].xyxx
105:   MOV TEMP[4].x, IMM[1].wwww
106:   BGNLOOP :123
107:     MUL TEMP[5].x, IMM[2].xxxx, IMM[3].xxxx
108:     SGE TEMP[6].x, TEMP[4].xxxx, TEMP[5].xxxx
109:     IF TEMP[6].xxxx :111
110:       BRK
111:     ENDIF
112:     MOV TEMP[4].y, IMM[0].xxxx
113:     MAD TEMP[5].xyz, CONST[0][0].xyyy, TEMP[4].yxxx, TEMP[2].xyyy
114:     MOV TEMP[5].w, IMM[0].xxxx
115:     TXL TEMP[6], TEMP[5], SAMP[2], 2D
116:     MOV TEMP[3].x, TEMP[6].xxxx
117:     SLT TEMP[5].x, TEMP[6].xxxx, IMM[1].zzzz
118:     IF TEMP[5].xxxx :120
119:       BRK
120:     ENDIF
121:     ADD TEMP[6].x, TEMP[4].xxxx, IMM[2].xxxx
122:     MOV TEMP[4].x, TEMP[6].xxxx
123:   ENDLOOP :106
124:   ADD TEMP[2].x, TEMP[4].xxxx, IMM[1].xxxx
125:   MAD TEMP[4].x, IMM[2].xxxx, TEMP[3].xxxx, TEMP[2].xxxx
126:   MUL TEMP[2].x, IMM[2].xxxx, IMM[3].xxxx
127:   MIN TEMP[3].x, TEMP[4].xxxx, TEMP[2].xxxx
128:   MOV TEMP[2].x, TEMP[1].xxxx
129:   MOV TEMP[2].y, TEMP[3].xxxx
130:   MOV TEMP[4].xz, IMM[0].yyyy
131:   MOV TEMP[4].y, TEMP[1].xxxx
132:   ADD TEMP[1].x, TEMP[3].xxxx, IMM[2].yyyy
133:   MOV TEMP[4].w, TEMP[1].xxxx
134:   MAD TEMP[1], TEMP[4], CONST[0][0].xyxy, IN[0].xyxy
135:   MOV TEMP[3], TEMP[1].xyyy
136:   MOV TEMP[3].w, IMM[0].xxxx
137:   TXL TEMP[4].y, TEMP[3], SAMP[2], 2D
138:   MOV TEMP[3].x, TEMP[4].yyyy
139:   MOV TEMP[4], TEMP[1].zwww
140:   MOV TEMP[4].w, IMM[0].xxxx
141:   TXL TEMP[1].y, TEMP[4], SAMP[2], 2D
142:   MOV TEMP[3].y, TEMP[1].yyyy
143:   MUL TEMP[4].xy, IMM[2].zzzz, TEMP[3].xyyy
144:   ROUND TEMP[1].xy, TEMP[4].xyyy
145:   MOV TEMP[3].xy, |TEMP[2].xyyy|
146:   MAD TEMP[2].xy, IMM[2].wwww, TEMP[1].xyyy, TEMP[3].xyyy
147:   MUL TEMP[3].xyz, TEMP[2].xyyy, IMM[0].zzzz
148:   MOV TEMP[3].w, IMM[0].xxxx
149:   TXL TEMP[1].xy, TEMP[3], SAMP[0], 2D
150:   MOV TEMP[0].zw, TEMP[1].yyxy
151: ENDIF
152: MOV OUT[0], TEMP[0]
153: END
