//Wavy doors PS 2.
// ---- Created with geo-11 v0.6.193 on Fri May 31 21:37:50 2024
//
//cbuffer PER_INSTANCE : register(b1)
//{
//  float4 SceneSelection : packoffset(c0);
//  float4 ParticleLightParams : packoffset(c1);
//}
//
//cbuffer PER_MATERIAL : register(b3)
//{
//  float4 MatDifColor : packoffset(c0);
//  float4 MatEmiColor : packoffset(c2);
//  float4 CM_DetailTilingAndAlphaRef : packoffset(c4);
//  float3 __0bendDetailFrequency__1bendDetailLeafAmplitude__2bendDetailBranchAmplitude__3 : packoffset(c15);
//  float4 __0RefrBumpScale__1AnimSpeed__2PerturbationScale__3PerturbationStrength : packoffset(c19);
//  float2 __0__1GlobalIlluminationAmount__2__3 : packoffset(c21);
//}
//
//cbuffer CBPerViewGlobal : register(b13)
//{
//  row_major float4x4 CV_ViewProjZeroMatr : packoffset(c0);
//  float4 CV_AnimGenParams : packoffset(c4);
//  row_major float4x4 CV_ViewProjMatr : packoffset(c5);
//  row_major float4x4 CV_ViewProjNearestMatr : packoffset(c9);
//  row_major float4x4 CV_InvViewProj : packoffset(c13);
//  row_major float4x4 CV_PrevViewProjMatr : packoffset(c17);
//  row_major float4x4 CV_PrevViewProjNearestMatr : packoffset(c21);
//  row_major float3x4 CV_ScreenToWorldBasis : packoffset(c25);
//  float4 CV_TessInfo : packoffset(c28);
//  float4 CV_CameraRightVector : packoffset(c29);
//  float4 CV_CameraFrontVector : packoffset(c30);
//  float4 CV_CameraUpVector : packoffset(c31);
//  float4 CV_ScreenSize : packoffset(c32);
//  float4 CV_HPosScale : packoffset(c33);
//  float4 CV_HPosClamp : packoffset(c34);
//  float4 CV_ProjRatio : packoffset(c35);
//  float4 CV_NearestScaled : packoffset(c36);
//  float4 CV_NearFarClipDist : packoffset(c37);
//  float4 CV_SunLightDir : packoffset(c38);
//  float4 CV_SunColor : packoffset(c39);
//  float4 CV_SkyColor : packoffset(c40);
//  float4 CV_FogColor : packoffset(c41);
//  float4 CV_TerrainInfo : packoffset(c42);
//  float4 CV_DecalZFightingRemedy : packoffset(c43);
//  row_major float4x4 CV_FrustumPlaneEquation : packoffset(c44);
//  float4 CV_WindGridOffset : packoffset(c48);
//  row_major float4x4 CV_ViewMatr : packoffset(c49);
//  row_major float4x4 CV_InvViewMatr : packoffset(c53);
//  float CV_LookingGlass_SunSelector : packoffset(c57);
//  float CV_LookingGlass_DepthScalar : packoffset(c57.y);
//  float CV_PADDING0 : packoffset(c57.z);
//  float CV_PADDING1 : packoffset(c57.w);
//}
//
//cbuffer CBPerFrame : register(b6)
//{
//  row_major float4x4 CF_ShadowSampling_TexGen0 : packoffset(c0);
//  row_major float4x4 CF_ShadowSampling_TexGen1 : packoffset(c4);
//  row_major float4x4 CF_ShadowSampling_TexGen2 : packoffset(c8);
//  row_major float4x4 CF_ShadowSampling_TexGen3 : packoffset(c12);
//  float4 CF_ShadowSampling_InvShadowMapSize : packoffset(c16);
//  float4 CF_ShadowSampling_DepthTestBias : packoffset(c17);
//  float4 CF_ShadowSampling_OneDivFarDist : packoffset(c18);
//  float4 CF_ShadowSampling_KernelRadius : packoffset(c19);
//  float4 CF_VolumetricFogParams : packoffset(c20);
//  float4 CF_VolumetricFogRampParams : packoffset(c21);
//  float4 CF_VolumetricFogSunDir : packoffset(c22);
//  float4 CF_FogColGradColBase : packoffset(c23);
//  float4 CF_FogColGradColDelta : packoffset(c24);
//  float4 CF_FogColGradParams : packoffset(c25);
//  float4 CF_FogColGradRadial : packoffset(c26);
//  float4 CF_VolumetricFogSamplingParams : packoffset(c27);
//  float4 CF_VolumetricFogDistributionParams : packoffset(c28);
//  float4 CF_VolumetricFogScatteringParams : packoffset(c29);
//  float4 CF_VolumetricFogScatteringBlendParams : packoffset(c30);
//  float4 CF_VolumetricFogScatteringColor : packoffset(c31);
//  float4 CF_VolumetricFogScatteringSecondaryColor : packoffset(c32);
//  float4 CF_VolumetricFogHeightDensityParams : packoffset(c33);
//  float4 CF_VolumetricFogHeightDensityRampParams : packoffset(c34);
//  float4 CF_VolumetricFogDistanceParams : packoffset(c35);
//  float4 CF_VolumetricFogGlobalEnvProbe0 : packoffset(c36);
//  float4 CF_VolumetricFogGlobalEnvProbe1 : packoffset(c37);
//  float4 CF_CloudShadingColorSun : packoffset(c38);
//  float4 CF_CloudShadingColorSky : packoffset(c39);
//  float CF_SSDOAmountDirect : packoffset(c40);
//  float3 __padding0 : packoffset(c40.y);
//  float4 CF_Timers[4] : packoffset(c41);
//  float4 CF_RandomNumbers : packoffset(c45);
//  float4 CF_irreg_kernel_2d[8] : packoffset(c46);
//}
//
//SamplerState ssMaterialAnisoHigh_s : register(s0);
//SamplerState ssPointClamp_s : register(s9);
//Texture2D<float4> diffuseTex : register(t0);
//Texture2D<float4> normalsTex : register(t1);
//Texture2D<float4> sceneCopyTex : register(t2);
//Texture2D<float4> sceneLinearDepthTex : register(t3);
//Texture2D<float4> sceneMaskLinearTex : register(t4);
//Texture2D<float4> customTex : register(t9);
//
//
//// 3Dmigoto declarations
//#define cmp -
//Texture1D<float4> IniParams : register(t120);
//Texture2D<float4> StereoParams : register(t125);
//
//
//void main(
//  float4 v0 : SV_Position0,
//  float4 v1 : TEXCOORD0,
//  float4 v2 : TEXCOORD1,
//  float4 v3 : TEXCOORD2,
//  float4 v4 : TEXCOORD3,
//  float4 v5 : TEXCOORD4,
//  float4 v6 : TEXCOORD5,
//  float4 v7 : TEXCOORD6,
//  float4 v8 : TEXCOORD7,
//  float4 v9 : TEXCOORD8,
//  out float4 o0 : SV_Target0)
//{
//  float4 r0,r1,r2;
//  uint4 bitmask, uiDest;
//  float4 fDest;
//
//  r0.xy = (int2)v0.xy;
//  r0.zw = float2(0,0);
//  r0.x = sceneMaskLinearTex.Load(r0.xyz).x;
//  r0.x = v0.w * CV_NearFarClipDist.w + -r0.x;
//  r0.x = SceneSelection.x * r0.x;
//  r0.x = cmp(r0.x < 0);
//  if (r0.x != 0) discard;
//  r0.xy = CV_ScreenSize.zw * v0.xy;
//  r0.z = v0.w;
//  r0.yzw = float3(2,2,1) * r0.xyz;
//  r1.x = diffuseTex.Sample(ssMaterialAnisoHigh_s, v1.xy).w;
//  r1.y = __0RefrBumpScale__1AnimSpeed__2PerturbationScale__3PerturbationStrength.z * v0.w;
//  r1.y = 0.0500000007 * r1.y;
//  r1.z = CM_DetailTilingAndAlphaRef.w;
//  r2.y = CF_Timers[r1.z].y * __0RefrBumpScale__1AnimSpeed__2PerturbationScale__3PerturbationStrength.y + 0.5;
//  r0.x = r0.x * 2 + -0.5;
//  r1.z = r1.y * r0.x;
//  r2.x = 0.5;
//  r1.yw = r1.yy * r0.xx + r2.xy;
//  r1.yw = customTex.Sample(ssMaterialAnisoHigh_s, r1.yw).xy;
//  r2.xy = r1.zz * float2(1.5,1.5) + r2.xy;
//  r2.xy = customTex.Sample(ssMaterialAnisoHigh_s, r2.xy).xy;
//  r1.yz = r2.yx + r1.wy;
//  r1.yz = __0RefrBumpScale__1AnimSpeed__2PerturbationScale__3PerturbationStrength.ww * r1.yz;
//  r1.xy = r1.yz * r1.xx + v1.xy;
//  r2.xyzw = diffuseTex.Sample(ssMaterialAnisoHigh_s, r1.xy).xyzw;
//  r0.x = -v3.y + r2.w;
//  r1.z = cmp(0.00400000019 >= r0.x);
//  if (r1.z != 0) discard;
//  r0.x = min(v3.z, r0.x);
//  r0.x = saturate(v3.x * r0.x);
//  r2.xyz = MatDifColor.xyz * r2.xyz;
//  r1.xy = normalsTex.Sample(ssMaterialAnisoHigh_s, r1.xy).xy;
//  r1.xy = __0RefrBumpScale__1AnimSpeed__2PerturbationScale__3PerturbationStrength.xx * r1.yx;
//  r1.xy = r1.xy * v3.xx + r0.yz;
//  r1.xy = max(float2(0,0), r1.xy);
//  r1.xy = min(CV_HPosClamp.xy, r1.xy);
//  r1.xyz = sceneCopyTex.Sample(ssPointClamp_s, r1.xy).xyz;
//  r2.xyz = r2.xyz * r0.xxx;
//  r1.xyz = r2.xyz * MatEmiColor.xyz + r1.xyz;
//  r1.xyz = v6.xyz * r1.xyz;
//  r1.xyz = r1.xyz * r0.xxx;
//  r0.y = sceneLinearDepthTex.Sample(ssPointClamp_s, r0.yz).x;
//  r0.y = r0.y * CV_NearFarClipDist.y + -r0.w;
//  r0.y = min(r0.y, r0.w);
//  r0.y = max(0, r0.y);
//  r0.y = -r0.y * r0.y;
//  r0.y = v3.w * r0.y;
//  r0.y = 1.44269502 * r0.y;
//  r0.y = exp2(r0.y);
//  r0.y = 1 + -r0.y;
//  o0.w = r0.x * r0.y;
//  o0.xyz = r1.xyz * r0.yyy;
//  return;
//}
//
///*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//   using 3Dmigoto v0.6.193 on Fri May 31 21:37:50 2024
//
//
// Note: shader requires additional functionality:
//       Early depth-stencil
//
//
// Buffer Definitions:
//
// cbuffer PER_INSTANCE
// {
//
//   float4 SceneSelection;             // Offset:    0 Size:    16
//   float4 ParticleLightParams;        // Offset:   16 Size:    16 [unused]
//
// }
//
// cbuffer PER_MATERIAL
// {
//
//   float4 MatDifColor;                // Offset:    0 Size:    16
//   float4 MatEmiColor;                // Offset:   32 Size:    16
//   float4 CM_DetailTilingAndAlphaRef; // Offset:   64 Size:    16
//   float3 __0bendDetailFrequency__1bendDetailLeafAmplitude__2bendDetailBranchAmplitude__3;// Offset:  240 Size:    12 [unused]
//   float4 __0RefrBumpScale__1AnimSpeed__2PerturbationScale__3PerturbationStrength;// Offset:  304 Size:    16
//   float2 __0__1GlobalIlluminationAmount__2__3;// Offset:  336 Size:     8 [unused]
//
// }
//
// cbuffer CBPerViewGlobal
// {
//
//   row_major float4x4 CV_ViewProjZeroMatr;// Offset:    0 Size:    64 [unused]
//   float4 CV_AnimGenParams;           // Offset:   64 Size:    16 [unused]
//   row_major float4x4 CV_ViewProjMatr;// Offset:   80 Size:    64 [unused]
//   row_major float4x4 CV_ViewProjNearestMatr;// Offset:  144 Size:    64 [unused]
//   row_major float4x4 CV_InvViewProj; // Offset:  208 Size:    64 [unused]
//   row_major float4x4 CV_PrevViewProjMatr;// Offset:  272 Size:    64 [unused]
//   row_major float4x4 CV_PrevViewProjNearestMatr;// Offset:  336 Size:    64 [unused]
//   row_major float3x4 CV_ScreenToWorldBasis;// Offset:  400 Size:    48 [unused]
//   float4 CV_TessInfo;                // Offset:  448 Size:    16 [unused]
//   float4 CV_CameraRightVector;       // Offset:  464 Size:    16 [unused]
//   float4 CV_CameraFrontVector;       // Offset:  480 Size:    16 [unused]
//   float4 CV_CameraUpVector;          // Offset:  496 Size:    16 [unused]
//   float4 CV_ScreenSize;              // Offset:  512 Size:    16
//   float4 CV_HPosScale;               // Offset:  528 Size:    16 [unused]
//   float4 CV_HPosClamp;               // Offset:  544 Size:    16
//   float4 CV_ProjRatio;               // Offset:  560 Size:    16 [unused]
//   float4 CV_NearestScaled;           // Offset:  576 Size:    16 [unused]
//   float4 CV_NearFarClipDist;         // Offset:  592 Size:    16
//   float4 CV_SunLightDir;             // Offset:  608 Size:    16 [unused]
//   float4 CV_SunColor;                // Offset:  624 Size:    16 [unused]
//   float4 CV_SkyColor;                // Offset:  640 Size:    16 [unused]
//   float4 CV_FogColor;                // Offset:  656 Size:    16 [unused]
//   float4 CV_TerrainInfo;             // Offset:  672 Size:    16 [unused]
//   float4 CV_DecalZFightingRemedy;    // Offset:  688 Size:    16 [unused]
//   row_major float4x4 CV_FrustumPlaneEquation;// Offset:  704 Size:    64 [unused]
//   float4 CV_WindGridOffset;          // Offset:  768 Size:    16 [unused]
//   row_major float4x4 CV_ViewMatr;    // Offset:  784 Size:    64 [unused]
//   row_major float4x4 CV_InvViewMatr; // Offset:  848 Size:    64 [unused]
//   float CV_LookingGlass_SunSelector; // Offset:  912 Size:     4 [unused]
//   float CV_LookingGlass_DepthScalar; // Offset:  916 Size:     4 [unused]
//   float CV_PADDING0;                 // Offset:  920 Size:     4 [unused]
//   float CV_PADDING1;                 // Offset:  924 Size:     4 [unused]
//
// }
//
// cbuffer CBPerFrame
// {
//
//   row_major float4x4 CF_ShadowSampling_TexGen0;// Offset:    0 Size:    64 [unused]
//   row_major float4x4 CF_ShadowSampling_TexGen1;// Offset:   64 Size:    64 [unused]
//   row_major float4x4 CF_ShadowSampling_TexGen2;// Offset:  128 Size:    64 [unused]
//   row_major float4x4 CF_ShadowSampling_TexGen3;// Offset:  192 Size:    64 [unused]
//   float4 CF_ShadowSampling_InvShadowMapSize;// Offset:  256 Size:    16 [unused]
//   float4 CF_ShadowSampling_DepthTestBias;// Offset:  272 Size:    16 [unused]
//   float4 CF_ShadowSampling_OneDivFarDist;// Offset:  288 Size:    16 [unused]
//   float4 CF_ShadowSampling_KernelRadius;// Offset:  304 Size:    16 [unused]
//   float4 CF_VolumetricFogParams;     // Offset:  320 Size:    16 [unused]
//   float4 CF_VolumetricFogRampParams; // Offset:  336 Size:    16 [unused]
//   float4 CF_VolumetricFogSunDir;     // Offset:  352 Size:    16 [unused]
//   float4 CF_FogColGradColBase;       // Offset:  368 Size:    16 [unused]
//   float4 CF_FogColGradColDelta;      // Offset:  384 Size:    16 [unused]
//   float4 CF_FogColGradParams;        // Offset:  400 Size:    16 [unused]
//   float4 CF_FogColGradRadial;        // Offset:  416 Size:    16 [unused]
//   float4 CF_VolumetricFogSamplingParams;// Offset:  432 Size:    16 [unused]
//   float4 CF_VolumetricFogDistributionParams;// Offset:  448 Size:    16 [unused]
//   float4 CF_VolumetricFogScatteringParams;// Offset:  464 Size:    16 [unused]
//   float4 CF_VolumetricFogScatteringBlendParams;// Offset:  480 Size:    16 [unused]
//   float4 CF_VolumetricFogScatteringColor;// Offset:  496 Size:    16 [unused]
//   float4 CF_VolumetricFogScatteringSecondaryColor;// Offset:  512 Size:    16 [unused]
//   float4 CF_VolumetricFogHeightDensityParams;// Offset:  528 Size:    16 [unused]
//   float4 CF_VolumetricFogHeightDensityRampParams;// Offset:  544 Size:    16 [unused]
//   float4 CF_VolumetricFogDistanceParams;// Offset:  560 Size:    16 [unused]
//   float4 CF_VolumetricFogGlobalEnvProbe0;// Offset:  576 Size:    16 [unused]
//   float4 CF_VolumetricFogGlobalEnvProbe1;// Offset:  592 Size:    16 [unused]
//   float4 CF_CloudShadingColorSun;    // Offset:  608 Size:    16 [unused]
//   float4 CF_CloudShadingColorSky;    // Offset:  624 Size:    16 [unused]
//   float CF_SSDOAmountDirect;         // Offset:  640 Size:     4 [unused]
//   float3 __padding0;                 // Offset:  644 Size:    12 [unused]
//   float4 CF_Timers[4];               // Offset:  656 Size:    64
//   float4 CF_RandomNumbers;           // Offset:  720 Size:    16 [unused]
//   float4 CF_irreg_kernel_2d[8];      // Offset:  736 Size:   128 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ssMaterialAnisoHigh               sampler      NA          NA    0        1
// ssPointClamp                      sampler      NA          NA    9        1
// diffuseTex                        texture  float4          2d    0        1
// normalsTex                        texture  float4          2d    1        1
// sceneCopyTex                      texture  float4          2d    2        1
// sceneLinearDepthTex               texture  float4          2d    3        1
// sceneMaskLinearTex                texture  float4          2d    4        1
// customTex                         texture  float4          2d    9        1
// PER_INSTANCE                      cbuffer      NA          NA    1        1
// PER_MATERIAL                      cbuffer      NA          NA    3        1
// CBPerFrame                        cbuffer      NA          NA    6        1
// CBPerViewGlobal                   cbuffer      NA          NA   13        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy w
// TEXCOORD                 0   xyzw        1     NONE   float   xy
// TEXCOORD                 1   xyzw        2     NONE   float
// TEXCOORD                 2   xyzw        3     NONE   float   xyzw
// TEXCOORD                 3   xyzw        4     NONE   float
// TEXCOORD                 4   xyzw        5     NONE   float
// TEXCOORD                 5   xyzw        6     NONE   float   xyz
// TEXCOORD                 6   xyzw        7     NONE   float
// TEXCOORD                 7   xyzw        8     NONE   float
// TEXCOORD                 8   xyzw        9     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed | forceEarlyDepthStencil
dcl_constantbuffer CB1[1], immediateIndexed
dcl_constantbuffer CB3[20], immediateIndexed
dcl_constantbuffer CB13[38], immediateIndexed
dcl_constantbuffer CB6[45], dynamicIndexed
dcl_sampler s0, mode_default
dcl_sampler s9, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t9
dcl_input_ps_siv linear noperspective v0.xyw, position
dcl_input_ps linear v1.xy
dcl_input_ps linear v3.xyzw
dcl_input_ps linear v6.xyz
dcl_output o0.xyzw
dcl_temps 35
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
ftoi r0.xy, v0.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.x, r0.xyzw, t4.xyzw
mad r0.x, v0.w, cb13[37].w, -r0.x
mul r0.x, r0.x, cb1[0].x
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
mul r0.xy, v0.xyxx, cb13[32].zwzz
mov r0.z, v0.w
mul r0.yzw, r0.xxyz, l(0.000000, 2.000000, 2.000000, 1.000000)
sample_indexable(texture2d)(float,float,float,float) r1.x, v1.xyxx, t0.wxyz, s0
mul r1.y, v0.w, cb3[19].z
mul r1.y, r1.y, l(0.050000)
mov r1.z, cb3[4].w
mad r2.y, cb6[r1.z + 41].y, cb3[19].y, l(0.500000)

div r26.x, r25.y, v0.w
add r26.x, r26.x, l(-1.0)
mul r26.x, r26.x, l(0.25)
mad r0.x, r25.x, r26.x, r0.x

mad r0.x, r0.x, l(2.000000), l(-0.500000)
mul r1.z, r0.x, r1.y
mov r2.x, l(0.500000)
mad r1.yw, r1.yyyy, r0.xxxx, r2.xxxy
sample_indexable(texture2d)(float,float,float,float) r1.yw, r1.ywyy, t9.zxwy, s0
mad r2.xy, r1.zzzz, l(1.500000, 1.500000, 0.000000, 0.000000), r2.xyxx
sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t9.xyzw, s0
add r1.yz, r1.wwyw, r2.yyxy
mul r1.yz, r1.yyzy, cb3[19].wwww
mad r1.xy, r1.yzyy, r1.xxxx, v1.xyxx
sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r1.xyxx, t0.xyzw, s0
add r0.x, r2.w, -v3.y
ge r1.z, l(0.004000), r0.x
discard_nz r1.z
min r0.x, r0.x, v3.z
mul_sat r0.x, r0.x, v3.x
mul r2.xyz, r2.xyzx, cb3[0].xyzx
sample_indexable(texture2d)(float,float,float,float) r1.xy, r1.xyxx, t1.xyzw, s0
mul r1.xy, r1.yxyy, cb3[19].xxxx
mad r1.xy, r1.xyxx, v3.xxxx, r0.yzyy
max r1.xy, r1.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r1.xy, r1.xyxx, cb13[34].xyxx
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t2.xyzw, s9
mul r2.xyz, r0.xxxx, r2.xyzx
mad r1.xyz, r2.xyzx, cb3[2].xyzx, r1.xyzx
mul r1.xyz, r1.xyzx, v6.xyzx
mul r1.xyz, r0.xxxx, r1.xyzx
sample_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t3.yxzw, s9
mad r0.y, r0.y, cb13[37].y, -r0.w
min r0.y, r0.w, r0.y
max r0.y, r0.y, l(0.000000)
mul r0.y, r0.y, -r0.y
mul r0.y, r0.y, v3.w
mul r0.y, r0.y, l(1.442695)
exp r0.y, r0.y
add r0.y, -r0.y, l(1.000000)
mul o0.w, r0.y, r0.x
mul o0.xyz, r0.yyyy, r1.xyzx
ret
// Approximately 54 instruction slots used
