OpenShadingLanguage 1.00
# Compiled by oslc 1.10.10
# options: -q -O2 -IC:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders -IC:/b/buildbot-worker-windows/windows_292/blender.git/../lib/win64_vc15/osl/shaders -o C:/b/buildbot-worker-windows/windows_292/build/intern/cycles/kernel/shaders/node_bump.oso
surface node_bump
param	int	invert	0		%read{23,23} %write{2147483647,-1}
param	int	use_object_space	0		%read{4,36} %write{2147483647,-1}
param	normal	NormalIn	0 0 0		%read{3,3} %write{0,0} %initexpr
param	float	Strength	0.100000001		%read{21,21} %write{2147483647,-1}
param	float	Distance	1		%read{22,22} %write{2147483647,-1}
param	float	SampleCenter	0		%read{15,17} %write{2147483647,-1}
param	float	SampleX	0		%read{15,15} %write{2147483647,-1}
param	float	SampleY	0		%read{17,17} %write{2147483647,-1}
oparam	normal	NormalOut	0 0 0		%read{31,54} %write{1,153} %initexpr
global	point	P	%read{2,2} %write{2147483647,-1} %derivs
global	vector	I	%read{40,57} %write{2147483647,-1}
global	normal	N	%read{0,1} %write{2147483647,-1}
global	normal	Ng	%read{44,152} %write{2147483647,-1}
local	vector	___355_R	%read{47,47} %write{43,43}
local	float	___355_threshold	%read{48,68} %write{46,46}
local	float	___355_NdotNg	%read{53,53} %write{52,52}
local	vector	___355_X	%read{56,151} %write{55,55}
local	float	___355_Ix	%read{59,109} %write{56,56}
local	float	___355_Iz	%read{61,114} %write{57,57}
local	float	___355_Ix2	%read{62,66} %write{59,59}
local	float	___355_Iz2	%read{62,62} %write{61,61}
local	float	___355_a	%read{65,70} %write{62,62}
local	float	___355_b	%read{71,73} %write{67,67}
local	float	___355_c	%read{71,74} %write{69,69}
local	float	___355_fac	%read{72,75} %write{70,70}
local	float	___355_N1_z2	%read{76,144} %write{72,72}
local	float	___355_N2_z2	%read{84,145} %write{75,75}
local	int	___355_valid1	%read{92,143} %write{83,115}
local	int	___355_valid2	%read{94,140} %write{91,116}
local	float	___355_N_new_x	%read{151,151} %write{124,147}
local	float	___355_N_new_z	%read{152,152} %write{128,148}
local	float	___358_N1_x	%read{103,132} %write{98,98}
local	float	___358_N1_z	%read{104,136} %write{99,99}
local	float	___358_N2_x	%read{109,133} %write{101,101}
local	float	___358_N2_z	%read{110,137} %write{102,102}
local	float	___358_R1	%read{115,134} %write{108,108}
local	float	___358_R2	%read{116,134} %write{114,114}
local	float	___361_Nz2	%read{146,148} %write{144,145}
local	point	Ptmp	%read{6,11} %write{2,6} %derivs
local	normal	Normal	%read{8,33} %write{3,9}
local	vector	dPdx	%read{13,14} %write{10,10}
local	vector	dPdy	%read{12,12} %write{11,11}
local	vector	Rx	%read{14,16} %write{12,12}
local	vector	Ry	%read{18,18} %write{13,13}
local	float	det	%read{20,26} %write{14,14}
local	vector	surfgrad	%read{28,28} %write{19,19}
local	float	absdet	%read{25,25} %write{20,20}
local	float	strength	%read{31,32} %write{21,21}
local	float	dist	%read{24,27} %write{22,24}
const	string	$const1	"object"		%read{6,37} %write{2147483647,-1}
const	string	$const2	"transform"		%read{5,7} %write{2147483647,-1}
const	string	$const3	"common"		%read{6,8} %write{2147483647,-1}
temp	normal	$tmp1	%read{9,9} %write{8,8}
temp	float	$tmp2	%read{16,16} %write{15,15}
temp	vector	$tmp3	%read{19,19} %write{16,16}
temp	float	$tmp4	%read{18,18} %write{17,17}
temp	vector	$tmp5	%read{19,19} %write{18,18}
const	float	$const4	0		%read{21,21} %write{2147483647,-1}
const	float	$const5	-1		%read{24,24} %write{2147483647,-1}
temp	normal	$tmp6	%read{29,29} %write{25,25}
temp	float	$tmp7	%read{27,27} %write{26,26}
temp	float	$tmp8	%read{28,28} %write{27,27}
temp	vector	$tmp9	%read{29,29} %write{28,28}
temp	normal	$tmp10	%read{30,30} %write{29,29}
temp	normal	$tmp11	%read{34,34} %write{31,31}
const	float	$const6	1		%read{32,146} %write{2147483647,-1}
temp	float	$tmp12	%read{33,33} %write{32,32}
temp	normal	$tmp13	%read{34,34} %write{33,33}
temp	normal	$tmp14	%read{35,35} %write{34,34}
temp	normal	$tmp15	%read{38,38} %write{37,37}
const	string	$const7	"world"		%read{37,37} %write{2147483647,-1}
const	string	$const8	"ensure_valid_reflection"		%read{39,39} %write{2147483647,-1}
temp	float	$tmp16	%read{41,41} %write{40,40}
temp	float	$tmp17	%read{42,42} %write{41,41}
const	float	$const10	2		%read{41,112} %write{2147483647,-1}
temp	normal	$tmp18	%read{43,43} %write{42,42}
const	float	$const11	0.899999976		%read{45,45} %write{2147483647,-1}
temp	float	$tmp19	%read{45,45} %write{44,44}
temp	float	$tmp20	%read{46,46} %write{45,45}
const	float	$const12	0.00999999978		%read{46,46} %write{2147483647,-1}
temp	float	$tmp21	%read{48,48} %write{47,47}
temp	int	$tmp22	%read{49,49} %write{48,48}
temp	normal	$tmp23	%read{54,54} %write{53,53}
temp	normal	$tmp24	%read{55,55} %write{54,54}
const	string	$const13	"sqr"		%read{58,63} %write{2147483647,-1}
temp	float	$tmp25	%read{65,65} %write{64,64}
temp	float	$tmp26	%read{66,66} %write{65,65}
temp	float	$tmp27	%read{67,67} %write{66,66}
temp	float	$tmp28	%read{69,69} %write{68,68}
const	float	$const14	0.5		%read{70,70} %write{2147483647,-1}
temp	float	$tmp29	%read{72,72} %write{71,71}
temp	float	$tmp30	%read{74,74} %write{73,73}
temp	float	$tmp31	%read{75,75} %write{74,74}
const	float	$const15	9.99999975e-06		%read{76,116} %write{2147483647,-1}
temp	int	$tmp32	%read{77,77} %write{76,76}
temp	int	$tmp33	%read{78,83} %write{77,82}
const	int	$const16	0		%read{77,140} %write{2147483647,-1}
temp	float	$tmp34	%read{80,80} %write{79,79}
temp	int	$tmp35	%read{81,81} %write{80,80}
temp	int	$tmp36	%read{82,82} %write{81,81}
temp	int	$tmp37	%read{85,85} %write{84,84}
temp	int	$tmp38	%read{86,91} %write{85,90}
temp	float	$tmp39	%read{88,88} %write{87,87}
temp	int	$tmp40	%read{89,89} %write{88,88}
temp	int	$tmp41	%read{90,90} %write{89,89}
temp	int	$tmp42	%read{93,96} %write{92,95}
temp	int	$tmp43	%read{95,95} %write{94,94}
temp	float	$tmp44	%read{98,98} %write{97,97}
temp	float	$tmp45	%read{101,101} %write{100,100}
temp	float	$tmp46	%read{105,105} %write{103,103}
temp	float	$tmp47	%read{105,105} %write{104,104}
temp	float	$tmp48	%read{106,106} %write{105,105}
temp	float	$tmp49	%read{107,107} %write{106,106}
temp	float	$tmp50	%read{108,108} %write{107,107}
temp	float	$tmp51	%read{111,111} %write{109,109}
temp	float	$tmp52	%read{111,111} %write{110,110}
temp	float	$tmp53	%read{112,112} %write{111,111}
temp	float	$tmp54	%read{113,113} %write{112,112}
temp	float	$tmp55	%read{114,114} %write{113,113}
temp	int	$tmp56	%read{118,121} %write{117,120}
temp	int	$tmp57	%read{120,120} %write{119,119}
temp	int	$tmp58	%read{123,123} %write{122,122}
temp	int	$tmp59	%read{127,127} %write{126,126}
temp	int	$tmp60	%read{131,131} %write{130,130}
temp	int	$tmp61	%read{135,135} %write{134,134}
temp	int	$tmp62	%read{139,142} %write{138,141}
temp	int	$tmp63	%read{141,141} %write{140,140}
temp	float	$tmp64	%read{147,147} %write{146,146}
temp	vector	$tmp65	%read{153,153} %write{151,151}
temp	normal	$tmp66	%read{153,153} %write{152,152}
code NormalIn
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:24
#                   normal NormalIn = N,
	assign		NormalIn N 	%filename{"C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl"} %line{24} %argrw{"wr"}
code NormalOut
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:30
#                   output normal NormalOut = N)
	assign		NormalOut N 	%filename{"C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl"} %line{30} %argrw{"wr"}
code ___main___
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:32
#   point Ptmp = P;
	assign		Ptmp P 	%filename{"C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl"} %line{32} %argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:33
#   normal Normal = NormalIn;
	assign		Normal NormalIn 	%line{33} %argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:35
#   if (use_object_space) {
	if		use_object_space 10 10 	%line{35} %argrw{"r"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:36
#     Ptmp = transform("object", Ptmp);
	functioncall	$const2 7 	%line{36} %argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\lib\win64_vc15\osl\shaders\stdosl.h:285
# point  transform (string to, point p)  { return transform("common",to,p); }
	transform	Ptmp $const3 $const1 Ptmp 	%filename{"C:\b\buildbot-worker-windows\windows_292\lib\win64_vc15\osl\shaders\stdosl.h"} %line{285} %argrw{"wrrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:37
#     Normal = normalize(transform("object", Normal));
	functioncall	$const2 9 	%filename{"C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl"} %line{37} %argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\lib\win64_vc15\osl\shaders\stdosl.h:283
# normal transform (string to, normal p) { return transform("common",to,p); }
	transformn	$tmp1 $const3 $const1 Normal 	%filename{"C:\b\buildbot-worker-windows\windows_292\lib\win64_vc15\osl\shaders\stdosl.h"} %line{283} %argrw{"wrrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:37
#     Normal = normalize(transform("object", Normal));
	normalize	Normal $tmp1 	%filename{"C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl"} %line{37} %argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:41
#   vector dPdx = Dx(Ptmp);
	Dx		dPdx Ptmp 	%line{41} %argrw{"wr"} %argderivs{1}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:42
#   vector dPdy = Dy(Ptmp);
	Dy		dPdy Ptmp 	%line{42} %argrw{"wr"} %argderivs{1}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:44
#   vector Rx = cross(dPdy, Normal);
	cross		Rx dPdy Normal 	%line{44} %argrw{"wrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:45
#   vector Ry = cross(Normal, dPdx);
	cross		Ry Normal dPdx 	%line{45} %argrw{"wrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:48
#   float det = dot(dPdx, Rx);
	dot		det dPdx Rx 	%line{48} %argrw{"wrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:49
#   vector surfgrad = (SampleX - SampleCenter) * Rx + (SampleY - SampleCenter) * Ry;
	sub		$tmp2 SampleX SampleCenter 	%line{49} %argrw{"wrr"}
	mul		$tmp3 $tmp2 Rx 	%argrw{"wrr"}
	sub		$tmp4 SampleY SampleCenter 	%argrw{"wrr"}
	mul		$tmp5 $tmp4 Ry 	%argrw{"wrr"}
	add		surfgrad $tmp3 $tmp5 	%argrw{"wrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:51
#   float absdet = fabs(det);
	fabs		absdet det 	%line{51} %argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:53
#   float strength = max(Strength, 0.0);
	max		strength Strength $const4 	%line{53} %argrw{"wrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:54
#   float dist = Distance;
	assign		dist Distance 	%line{54} %argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:56
#   if (invert)
	if		invert 25 25 	%line{56} %argrw{"r"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:57
#     dist *= -1.0;
	mul		dist dist $const5 	%line{57} %argrw{"wrr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:60
#   NormalOut = normalize(absdet * Normal - dist * sign(det) * surfgrad);
	mul		$tmp6 absdet Normal 	%line{60} %argrw{"wrr"}
	sign		$tmp7 det 	%argrw{"wr"}
	mul		$tmp8 dist $tmp7 	%argrw{"wrr"}
	mul		$tmp9 $tmp8 surfgrad 	%argrw{"wrr"}
	sub		$tmp10 $tmp6 $tmp9 	%argrw{"wrr"}
	normalize	NormalOut $tmp10 	%argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:61
#   NormalOut = normalize(strength * NormalOut + (1.0 - strength) * Normal);
	mul		$tmp11 strength NormalOut 	%line{61} %argrw{"wrr"}
	sub		$tmp12 $const6 strength 	%argrw{"wrr"}
	mul		$tmp13 $tmp12 Normal 	%argrw{"wrr"}
	add		$tmp14 $tmp11 $tmp13 	%argrw{"wrr"}
	normalize	NormalOut $tmp14 	%argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:63
#   if (use_object_space) {
	if		use_object_space 39 39 	%line{63} %argrw{"r"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:64
#     NormalOut = normalize(transform("object", "world", NormalOut));
	transformn	$tmp15 $const1 $const7 NormalOut 	%line{64} %argrw{"wrrr"}
	normalize	NormalOut $tmp15 	%argrw{"wr"}
# C:/b/buildbot-worker-windows/windows_292/blender.git/intern/cycles/kernel/shaders/node_bump.osl:67
#   NormalOut = ensure_valid_reflection(Ng, I, NormalOut);
	functioncall	$const8 155 	%line{67} %argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:97
#   vector R = 2 * dot(N, I) * N - I;
	dot		$tmp16 NormalOut I 	%filename{"C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h"} %line{97} %argrw{"wrr"}
	mul		$tmp17 $const10 $tmp16 	%argrw{"wrr"}
	mul		$tmp18 $tmp17 NormalOut 	%argrw{"wrr"}
	sub		___355_R $tmp18 I 	%argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:99
#   float threshold = min(0.9 * dot(Ng, I), 0.01);
	dot		$tmp19 Ng I 	%line{99} %argrw{"wrr"}
	mul		$tmp20 $const11 $tmp19 	%argrw{"wrr"}
	min		___355_threshold $tmp20 $const12 	%argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:100
#   if (dot(Ng, R) >= threshold) {
	dot		$tmp21 Ng ___355_R 	%line{100} %argrw{"wrr"}
	ge		$tmp22 $tmp21 ___355_threshold 	%argrw{"wrr"}
	if		$tmp22 52 52 	%argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:101
#     return N;
	assign		NormalOut NormalOut 	%line{101} %argrw{"wr"}
	return
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:104
#   float NdotNg = dot(N, Ng);
	dot		___355_NdotNg NormalOut Ng 	%line{104} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:105
#   vector X = normalize(N - NdotNg * Ng);
	mul		$tmp23 ___355_NdotNg Ng 	%line{105} %argrw{"wrr"}
	sub		$tmp24 NormalOut $tmp23 	%argrw{"wrr"}
	normalize	___355_X $tmp24 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:107
#   float Ix = dot(I, X), Iz = dot(I, Ng);
	dot		___355_Ix I ___355_X 	%line{107} %argrw{"wrr"}
	dot		___355_Iz I Ng 	%argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:108
#   float Ix2 = sqr(Ix), Iz2 = sqr(Iz);
	functioncall	$const13 60 	%line{108} %argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:94
#     return x * x;
	mul		___355_Ix2 ___355_Ix ___355_Ix 	%line{94} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:108
#   float Ix2 = sqr(Ix), Iz2 = sqr(Iz);
	functioncall	$const13 62 	%line{108} %argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:94
#     return x * x;
	mul		___355_Iz2 ___355_Iz ___355_Iz 	%line{94} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:109
#   float a = Ix2 + Iz2;
	add		___355_a ___355_Ix2 ___355_Iz2 	%line{109} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:111
#   float b = sqrt(Ix2 * (a - sqr(threshold)));
	functioncall	$const13 65 	%line{111} %argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:94
#     return x * x;
	mul		$tmp25 ___355_threshold ___355_threshold 	%line{94} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:111
#   float b = sqrt(Ix2 * (a - sqr(threshold)));
	sub		$tmp26 ___355_a $tmp25 	%line{111} %argrw{"wrr"}
	mul		$tmp27 ___355_Ix2 $tmp26 	%argrw{"wrr"}
	sqrt		___355_b $tmp27 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:112
#   float c = Iz * threshold + a;
	mul		$tmp28 ___355_Iz ___355_threshold 	%line{112} %argrw{"wrr"}
	add		___355_c $tmp28 ___355_a 	%argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:114
#   float fac = 0.5 / a;
	div		___355_fac $const14 ___355_a 	%line{114} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:115
#   float N1_z2 = fac * (b + c), N2_z2 = fac * (-b + c);
	add		$tmp29 ___355_b ___355_c 	%line{115} %argrw{"wrr"}
	mul		___355_N1_z2 ___355_fac $tmp29 	%argrw{"wrr"}
	neg		$tmp30 ___355_b 	%argrw{"wr"}
	add		$tmp31 $tmp30 ___355_c 	%argrw{"wrr"}
	mul		___355_N2_z2 ___355_fac $tmp31 	%argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:116
#   int valid1 = (N1_z2 > 1e-5) && (N1_z2 <= (1.0 + 1e-5));
	gt		$tmp32 ___355_N1_z2 $const15 	%line{116} %argrw{"wrr"}
	neq		$tmp33 $tmp32 $const16 	%argrw{"wrr"}
	if		$tmp33 83 83 	%argrw{"r"}
	add		$tmp34 $const6 $const15 	%argrw{"wrr"}
	le		$tmp35 ___355_N1_z2 $tmp34 	%argrw{"wrr"}
	neq		$tmp36 $tmp35 $const16 	%argrw{"wrr"}
	assign		$tmp33 $tmp36 	%argrw{"wr"}
	assign		___355_valid1 $tmp33 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:117
#   int valid2 = (N2_z2 > 1e-5) && (N2_z2 <= (1.0 + 1e-5));
	gt		$tmp37 ___355_N2_z2 $const15 	%line{117} %argrw{"wrr"}
	neq		$tmp38 $tmp37 $const16 	%argrw{"wrr"}
	if		$tmp38 91 91 	%argrw{"r"}
	add		$tmp39 $const6 $const15 	%argrw{"wrr"}
	le		$tmp40 ___355_N2_z2 $tmp39 	%argrw{"wrr"}
	neq		$tmp41 $tmp40 $const16 	%argrw{"wrr"}
	assign		$tmp38 $tmp41 	%argrw{"wr"}
	assign		___355_valid2 $tmp38 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:120
#   if (valid1 && valid2) {
	neq		$tmp42 ___355_valid1 $const16 	%line{120} %argrw{"wrr"}
	if		$tmp42 96 96 	%argrw{"r"}
	neq		$tmp43 ___355_valid2 $const16 	%argrw{"wrr"}
	assign		$tmp42 $tmp43 	%argrw{"wr"}
	if		$tmp42 138 151 	%argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:121
#     float N1_x = sqrt(1.0 - N1_z2), N1_z = sqrt(N1_z2);
	sub		$tmp44 $const6 ___355_N1_z2 	%line{121} %argrw{"wrr"}
	sqrt		___358_N1_x $tmp44 	%argrw{"wr"}
	sqrt		___358_N1_z ___355_N1_z2 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:122
#     float N2_x = sqrt(1.0 - N2_z2), N2_z = sqrt(N2_z2);
	sub		$tmp45 $const6 ___355_N2_z2 	%line{122} %argrw{"wrr"}
	sqrt		___358_N2_x $tmp45 	%argrw{"wr"}
	sqrt		___358_N2_z ___355_N2_z2 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:124
#     float R1 = 2 * (N1_x * Ix + N1_z * Iz) * N1_z - Iz;
	mul		$tmp46 ___358_N1_x ___355_Ix 	%line{124} %argrw{"wrr"}
	mul		$tmp47 ___358_N1_z ___355_Iz 	%argrw{"wrr"}
	add		$tmp48 $tmp46 $tmp47 	%argrw{"wrr"}
	mul		$tmp49 $const10 $tmp48 	%argrw{"wrr"}
	mul		$tmp50 $tmp49 ___358_N1_z 	%argrw{"wrr"}
	sub		___358_R1 $tmp50 ___355_Iz 	%argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:125
#     float R2 = 2 * (N2_x * Ix + N2_z * Iz) * N2_z - Iz;
	mul		$tmp51 ___358_N2_x ___355_Ix 	%line{125} %argrw{"wrr"}
	mul		$tmp52 ___358_N2_z ___355_Iz 	%argrw{"wrr"}
	add		$tmp53 $tmp51 $tmp52 	%argrw{"wrr"}
	mul		$tmp54 $const10 $tmp53 	%argrw{"wrr"}
	mul		$tmp55 $tmp54 ___358_N2_z 	%argrw{"wrr"}
	sub		___358_R2 $tmp55 ___355_Iz 	%argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:127
#     valid1 = (R1 >= 1e-5);
	ge		___355_valid1 ___358_R1 $const15 	%line{127} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:128
#     valid2 = (R2 >= 1e-5);
	ge		___355_valid2 ___358_R2 $const15 	%line{128} %argrw{"wrr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:129
#     if (valid1 && valid2) {
	neq		$tmp56 ___355_valid1 $const16 	%line{129} %argrw{"wrr"}
	if		$tmp56 121 121 	%argrw{"r"}
	neq		$tmp57 ___355_valid2 $const16 	%argrw{"wrr"}
	assign		$tmp56 $tmp57 	%argrw{"wr"}
	if		$tmp56 130 138 	%argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:130
#       N_new_x = (R1 < R2) ? N1_x : N2_x;
	lt		$tmp58 ___358_R1 ___358_R2 	%line{130} %argrw{"wrr"}
	if		$tmp58 125 126 	%argrw{"r"}
	assign		___355_N_new_x ___358_N1_x 	%argrw{"wr"}
	assign		___355_N_new_x ___358_N2_x 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:131
#       N_new_z = (R1 < R2) ? N1_z : N2_z;
	lt		$tmp59 ___358_R1 ___358_R2 	%line{131} %argrw{"wrr"}
	if		$tmp59 129 130 	%argrw{"r"}
	assign		___355_N_new_z ___358_N1_z 	%argrw{"wr"}
	assign		___355_N_new_z ___358_N2_z 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:134
#       N_new_x = (R1 > R2) ? N1_x : N2_x;
	gt		$tmp60 ___358_R1 ___358_R2 	%line{134} %argrw{"wrr"}
	if		$tmp60 133 134 	%argrw{"r"}
	assign		___355_N_new_x ___358_N1_x 	%argrw{"wr"}
	assign		___355_N_new_x ___358_N2_x 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:135
#       N_new_z = (R1 > R2) ? N1_z : N2_z;
	gt		$tmp61 ___358_R1 ___358_R2 	%line{135} %argrw{"wrr"}
	if		$tmp61 137 138 	%argrw{"r"}
	assign		___355_N_new_z ___358_N1_z 	%argrw{"wr"}
	assign		___355_N_new_z ___358_N2_z 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:138
#   else if (valid1 || valid2) {
	neq		$tmp62 ___355_valid1 $const16 	%line{138} %argrw{"wrr"}
	if		$tmp62 140 142 	%argrw{"r"}
	neq		$tmp63 ___355_valid2 $const16 	%argrw{"wrr"}
	assign		$tmp62 $tmp63 	%argrw{"wr"}
	if		$tmp62 149 151 	%argrw{"r"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:139
#     float Nz2 = valid1 ? N1_z2 : N2_z2;
	if		___355_valid1 145 146 	%line{139} %argrw{"r"}
	assign		___361_Nz2 ___355_N1_z2 	%argrw{"wr"}
	assign		___361_Nz2 ___355_N2_z2 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:140
#     N_new_x = sqrt(1.0 - Nz2);
	sub		$tmp64 $const6 ___361_Nz2 	%line{140} %argrw{"wrr"}
	sqrt		___355_N_new_x $tmp64 	%argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:141
#     N_new_z = sqrt(Nz2);
	sqrt		___355_N_new_z ___361_Nz2 	%line{141} %argrw{"wr"}
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:144
#     return Ng;
	assign		NormalOut Ng 	%line{144} %argrw{"wr"}
	return
# C:\b\buildbot-worker-windows\windows_292\blender.git\intern\cycles\kernel\shaders\stdcycles.h:147
#   return N_new_x * X + N_new_z * Ng;
	mul		$tmp65 ___355_N_new_x ___355_X 	%line{147} %argrw{"wrr"}
	mul		$tmp66 ___355_N_new_z Ng 	%argrw{"wrr"}
	add		NormalOut $tmp65 $tmp66 	%argrw{"wrr"}
	return
	end
