negative-lightness.frag
!!ARBfp1.0
# cgc version 3.1.0013, build date Apr 24 2012
# command line args: -oglsl -profile arbfp1
# source file: negative-lightness.frag
#vendor NVIDIA Corporation
#version 3.1.0.13
#profile arbfp1
#program negative_lightness_fragment
#var float4 gl_FragColor : $vout.COLOR : COL : -1 : 1
#const c0 = 1 0 0.5 2
#const c1 = 4 60 360 120
#const c2 = 180 240 0.016666668
TEMP R0;
TEMP R0;
TEMP R1;
TEMP R2;
TEMP R3;
TEMP temp, neg;
PARAM c0 = { 1.0, 0.0, 0.5, 2.0 };
PARAM c1 = { 360.0, 4.0, 60.0, 120.0 };
PARAM c2 = { 180.0, 240.0, 0.016666668 };
TEX temp, fragment.texcoord[0], texture[0], RECT;
MOV neg.a, temp.a;
MOV R0.xyz, temp;


ADD R1.x, R0, -R0.y;
CMP R0.w, -R1.x, R0.x, R0.y;
CMP R1.z, R1.x, R0.x, R0.y;
ADD R1.w, R0.z, -R1.z;
CMP R1.z, R1.w, R0, R1;
ADD R1.y, R0.z, -R0.w;
CMP R1.w, -R1.y, R0.z, R0;
ADD R1.y, R1.w, -R1.z;
ADD R0.w, -R1, R0.x;
ABS R0.w, R0;
RCP R2.y, R1.y;
ADD R2.x, R0.y, -R0.z;
MUL R3.x, R2.y, R2;
ABS R2.x, R1.y;
CMP R2.w, -R0, c0.y, c0.x;
CMP R0.w, -R2.x, c0.x, c0.y;
MUL R2.z, R0.w, R2.w;
CMP R2.z, -R2, R3.x, c0.y;
ADD R3.x, -R1.w, R0.y;
ABS R2.w, R2;
CMP R0.y, -R2.w, c0, c0.x;
ABS R2.w, R3.x;
ADD R3.x, R0.z, -R0;
MUL R0.y, R0.w, R0;
CMP R2.w, -R2, c0.y, c0.x;
MUL R0.x, R0.y, R2.w;
MAD R3.x, R2.y, R3, c0.w;
CMP R0.x, -R0, R3, R2.z;
ADD R2.z, -R1.w, R0;
ABS R0.z, R2.w;
CMP R0.z, -R0, c0.y, c0.x;
MUL R0.y, R0, R0.z;
ABS R2.z, R2;
CMP R2.z, -R2, c0.y, c0.x;
MUL R0.y, R0, R2.z;
MAD R0.z, R1.x, R2.y, c1.y;
CMP R0.x, -R0.y, R0.z, R0;
ADD R0.y, R1.w, R1.z;
MUL R0.z, R0.x, c1;
CMP R0.x, -R2, R0.z, R0;
MUL R0.z, R0.y, c0;
RCP R1.z, R0.y;
SGE R1.x, c0.z, R0.z;
MUL R1.w, R1.y, R1.z;
MUL R1.z, R0.w, R1.x;
CMP R1.w, -R1.z, R1, c0.y;
ADD R0.z, -R0, c0.x;
ADD R1.z, -R0.y, c0.w;
ABS R1.x, R1;
CMP R0.y, -R1.x, c0, c0.x;
RCP R1.x, R1.z;
MUL R1.x, R1.y, R1;
MUL R0.y, R0.w, R0;
CMP R1.x, -R0.y, R1, R1.w;
SLT R0.y, R0.x, c0;
ADD R1.y, R0.x, c1.x;
MUL R0.y, R0.w, R0;
CMP R0.y, -R0, R1, R0.x;
ADD R0.w, R0.y, -c1;
ABS R0.x, R1;
CMP R0.x, -R0, c0.y, c0;
ABS R0.x, R0;
CMP R0.x, -R0, c0.y, c0;
SLT R1.y, c1.x, R0.w;
ADD R1.z, R0.w, -c1.x;
MUL R1.y, R0.x, R1;
CMP R0.w, -R1.y, R1.z, R0;
SLT R1.y, c1.x, R0.w;
MUL R1.y, R1, R0.x;
ADD R1.z, R0.w, -c1.x;
CMP R0.w, -R1.y, R1.z, R0;
SLT R1.y, R0.w, c0;
MUL R1.y, R1, R0.x;
ADD R1.z, R0.w, c1.x;
CMP R0.w, -R1.y, R1.z, R0;
SLT R1.y, R0.w, c0;
MUL R1.y, R1, R0.x;
ADD R1.z, R0.w, c1.x;
CMP R1.z, -R1.y, R1, R0.w;
ADD R1.y, R1.x, R0.z;
MAD R2.x, R1, -R0.z, R1.y;
SLT R1.w, R1.z, c1.z;
ABS R0.w, R1;
MUL R1.w, R1, R0.x;
SGE R1.y, c0.z, R0.z;
ADD R2.y, R1.x, c0.x;
ABS R1.x, R1.y;
MUL R1.y, R0.z, R2;
CMP R1.x, -R1, c0.y, c0;
CMP R1.y, -R1.x, R2.x, R1;
CMP R0.w, -R0, c0.y, c0.x;
MUL R2.x, R0.w, R0;
MAD R0.w, R0.z, c0, -R1.y;
ADD R1.x, -R0.w, R1.y;
SLT R2.z, R1, c2.x;
MUL R2.y, R2.x, R2.z;
MUL R2.w, R1.z, R1.x;
MAD R2.w, R2, c2.z, R0;
CMP R2.w, -R1, R2, R0.z;
CMP R2.y, -R2, R1, R2.w;
ABS R2.z, R2;
CMP R1.w, -R2.z, c0.y, c0.x;
MUL R1.w, R2.x, R1;
ADD R2.z, -R1, c2.y;
SLT R2.x, R1.z, c2.y;
MUL R1.z, R1.w, R2.x;
SLT R2.w, c1.x, R0.y;
MUL R2.z, R1.x, R2;
MAD R2.z, R2, c2, R0.w;
CMP R2.y, -R1.z, R2.z, R2;
ADD R3.x, R0.y, -c1;
MUL R2.w, R0.x, R2;
CMP R2.w, -R2, R3.x, R0.y;
SLT R3.x, c1, R2.w;
MUL R3.x, R0, R3;
ADD R3.y, R2.w, -c1.x;
CMP R2.w, -R3.x, R3.y, R2;
SLT R1.z, R2.w, c0.y;
ADD R2.z, R2.w, c1.x;
MUL R1.z, R0.x, R1;
CMP R1.z, -R1, R2, R2.w;
SLT R2.z, R1, c0.y;
ADD R2.w, R1.z, c1.x;
MUL R2.z, R0.x, R2;
CMP R1.z, -R2, R2.w, R1;
ABS R2.x, R2;
CMP R2.z, -R2.x, c0.y, c0.x;
MUL R1.w, R1, R2.z;
SLT R2.x, R1.z, c1.z;
ABS R2.z, R2.x;
CMP neg.z, -R1.w, R0.w, R2.y;
CMP R1.w, -R2.z, c0.y, c0.x;
MUL R2.w, R1.x, R1.z;
SLT R2.z, R1, c2.x;
MUL R1.w, R0.x, R1;
MUL R2.y, R1.w, R2.z;
ABS R2.z, R2;
CMP R2.z, -R2, c0.y, c0.x;
MUL R1.w, R1, R2.z;
ADD R2.z, -R1, c2.y;
MAD R2.w, R2, c2.z, R0;
MUL R2.x, R0, R2;
CMP R2.x, -R2, R2.w, R0.z;
CMP R2.x, -R2.y, R1.y, R2;
SLT R2.y, R1.z, c2;
ADD R2.w, R0.y, c1;
MUL R2.z, R1.x, R2;
MAD R0.y, R2.z, c2.z, R0.w;
MUL R1.z, R1.w, R2.y;
SLT R2.z, c1.x, R2.w;
CMP R0.y, -R1.z, R0, R2.x;
MUL R2.z, R0.x, R2;
ADD R3.x, R2.w, -c1;
CMP R2.z, -R2, R3.x, R2.w;
SLT R1.z, c1.x, R2;
MUL R1.z, R0.x, R1;
ADD R2.x, R2.z, -c1;
CMP R2.x, -R1.z, R2, R2.z;
ABS R1.z, R2.y;
SLT R2.y, R2.x, c0;
ADD R2.z, R2.x, c1.x;
MUL R2.y, R0.x, R2;
CMP R2.y, -R2, R2.z, R2.x;
CMP R2.x, -R1.z, c0.y, c0;
MUL R1.w, R1, R2.x;
SLT R1.z, R2.y, c0.y;
ADD R2.z, R2.y, c1.x;
MUL R1.z, R0.x, R1;
CMP R1.z, -R1, R2, R2.y;
CMP neg.y, -R1.w, R0.w, R0;
SLT R2.x, R1.z, c1.z;
MUL R2.z, R1.x, R1;
ABS R0.y, R2.x;
CMP R0.y, -R0, c0, c0.x;
MUL R0.y, R0.x, R0;
SLT R1.w, R1.z, c2.x;
MUL R2.y, R0, R1.w;
MUL R0.x, R0, R2;
MAD R2.z, R2, c2, R0.w;
CMP R0.z, -R0.x, R2, R0;
ABS R0.x, R1.w;
CMP R1.w, -R2.y, R1.y, R0.z;
SLT R0.z, R1, c2.y;
CMP R0.x, -R0, c0.y, c0;
MUL R0.x, R0.y, R0;
ABS R0.y, R0.z;
MUL R1.y, R0.x, R0.z;
ADD R1.z, -R1, c2.y;
MUL R0.z, R1.x, R1;
CMP R0.y, -R0, c0, c0.x;
MAD R0.z, R0, c2, R0.w;
CMP R0.z, -R1.y, R0, R1.w;
MUL R0.x, R0, R0.y;
CMP neg.x, -R0, R0.w, R0.z;



MUL neg.rgb, neg.a, neg;
MUL neg, fragment.color, neg;
MOV result.color, neg;
END
# 154 instructions, 4 R-regs
