OpenShadingLanguage 1.01
# Compiled by oslc 1.6.2
volume mango_volume
param	float	opacdensity	0		%read{182,182} %write{2147483647,-1}
param	float	lightdensity	0.0049999999		%read{186,186} %write{2147483647,-1}
param	color	scatter	1 1 1		%read{197,201} %write{2147483647,-1}
param	float	integstart	0		%read{134,134} %write{2147483647,-1} %derivs
param	float	integend	10000		%read{136,136} %write{2147483647,-1} %derivs
param	float	stepsize	0.1		%read{139,148} %write{2147483647,-1} %derivs
param	float	minsteps	3		%read{147,147} %write{2147483647,-1} %derivs
param	float	maxsteps	100		%read{145,145} %write{2147483647,-1} %derivs
param	float	background_object	0		%read{220,220} %write{2147483647,-1}
param	string[]	vol_type	""		%read{12,12} %write{2147483647,-1}
param	string[]	vol_name	""		%read{6,6} %write{2147483647,-1}
param	string[]	vol_coord	""		%read{8,10} %write{2147483647,-1} %derivs
param	float[]	vol_density	0		%read{187,187} %write{2147483647,-1}
param	color[]	vol_color	0 0 0		%read{185,185} %write{2147483647,-1}
global	point	P	%read{0,0} %write{2147483647,-1} %derivs
global	vector	I	%read{0,141} %write{2147483647,-1} %derivs
global	color	C	%read{225,232} %write{226,233}
global	color	opacity	%read{228,230} %write{229,229}
global	color	Cl	%read{159,178} %write{2147483647,-1}
local	float	___315_foglight	%read{4,215} %write{4,215}
local	float	___317_tmp	%read{4,215} %write{4,215} %derivs
local	float	___321_d	%read{4,215} %write{4,215} %derivs
local	point	Worigin	%read{9,170} %write{0,0} %derivs
local	vector	WIN	%read{11,169} %write{1,1} %derivs
local	color	Cv	%read{4,230} %write{2,215}
local	color	Ov	%read{4,231} %write{3,215}
local	int	___324_i	%read{4,215} %write{4,215} %derivs
local	float	___325_raymarchingstart	%read{4,215} %write{4,215} %derivs
local	float	___325_raymarchingend	%read{4,215} %write{4,215} %derivs
local	point	___325_O	%read{4,215} %write{4,215} %derivs
local	vector	___325_D	%read{4,215} %write{4,215} %derivs
local	float	___326_a	%read{4,215} %write{4,215} %derivs
local	float	___326_b	%read{4,215} %write{4,215} %derivs
local	float	___326_c	%read{4,215} %write{4,215} %derivs
local	float[2]	___326_roots	%read{4,215} %write{4,215} %derivs
local	float	___327_t0	%read{4,215} %write{4,215} %derivs
local	float	___327_t1	%read{4,215} %write{4,215} %derivs
local	float	___325_d	%read{4,215} %write{4,215} %derivs
local	float	___325_end	%read{4,215} %write{4,215} %derivs
local	float	___325_minss	%read{4,215} %write{4,215} %derivs
local	float	___325_maxss	%read{4,215} %write{4,215} %derivs
local	float	___325_ss	%read{4,215} %write{4,215} %derivs
local	float	___325_dtau	%read{4,215} %write{4,215}
local	float	___325_last_dtau	%read{4,215} %write{4,215}
local	color	___325_li	%read{4,215} %write{4,215}
local	color	___325_last_li	%read{4,215} %write{4,215}
local	float	___328_tau	%read{4,215} %write{4,215}
local	color	___328_lighttau	%read{4,215} %write{4,215}
const	int	$const1	0		%read{2,221} %write{2147483647,-1}
temp	int	$tmp1	%read{7,7} %write{6,6}
temp	int	$tmp2	%read{4,215} %write{4,215}
const	string	$const2	"common"		%read{9,11} %write{2147483647,-1}
temp	string	$tmp3	%read{9,9} %write{8,8} %derivs
temp	string	$tmp4	%read{11,11} %write{10,10} %derivs
temp	string	$tmp5	%read{13,13} %write{12,12}
const	string	$const3	"lightcone"		%read{13,13} %write{2147483647,-1}
temp	int	$tmp6	%read{14,14} %write{13,13}
temp	float	$tmp7	%read{21,21} %write{17,17} %derivs
temp	float	$tmp8	%read{17,17} %write{15,15} %derivs
const	string	$const4	"sqr"		%read{16,46} %write{2147483647,-1}
temp	float	$tmp9	%read{21,21} %write{20,20} %derivs
const	int	$const5	1		%read{18,215} %write{2147483647,-1}
temp	float	$tmp10	%read{20,20} %write{18,18} %derivs
temp	float	$tmp11	%read{25,25} %write{21,21} %derivs
temp	float	$tmp12	%read{25,25} %write{24,24} %derivs
const	int	$const6	2		%read{22,207} %write{2147483647,-1}
temp	float	$tmp13	%read{24,24} %write{22,22} %derivs
temp	float	$tmp14	%read{28,28} %write{26,26} %derivs
temp	float	$tmp15	%read{28,28} %write{27,27} %derivs
temp	float	$tmp16	%read{32,32} %write{28,28} %derivs
temp	float	$tmp17	%read{31,31} %write{29,29} %derivs
temp	float	$tmp18	%read{31,31} %write{30,30} %derivs
temp	float	$tmp19	%read{32,32} %write{31,31} %derivs
temp	float	$tmp20	%read{36,36} %write{32,32} %derivs
temp	float	$tmp21	%read{35,35} %write{33,33} %derivs
temp	float	$tmp22	%read{35,35} %write{34,34} %derivs
temp	float	$tmp23	%read{36,36} %write{35,35} %derivs
temp	float	$tmp24	%read{37,37} %write{36,36} %derivs
const	float	$const7	2		%read{37,190} %write{2147483647,-1}
temp	float	$tmp25	%read{44,44} %write{40,40} %derivs
temp	float	$tmp26	%read{40,40} %write{38,38} %derivs
temp	float	$tmp27	%read{44,44} %write{43,43} %derivs
temp	float	$tmp28	%read{43,43} %write{41,41} %derivs
temp	float	$tmp29	%read{48,48} %write{44,44} %derivs
temp	float	$tmp30	%read{48,48} %write{47,47} %derivs
temp	float	$tmp31	%read{47,47} %write{45,45} %derivs
temp	float	$tmp32	%read{102,102} %write{54,100}
const	string	$const8	"quadratic"		%read{49,49} %write{2147483647,-1}
const	float	$const9	0		%read{50,106} %write{2147483647,-1}
temp	int	$tmp33	%read{51,51} %write{50,50}
temp	int	$tmp34	%read{53,53} %write{52,52}
temp	float	$tmp35	%read{57,57} %write{56,56} %derivs
temp	float	$tmp36	%read{58,58} %write{57,57} %derivs
temp	float	$tmp37	%read{64,64} %write{61,61} %derivs
temp	float	$tmp38	%read{63,63} %write{62,62} %derivs
const	float	$const11	4		%read{62,62} %write{2147483647,-1}
temp	float	$tmp39	%read{64,64} %write{63,63} %derivs
temp	int	$tmp40	%read{66,66} %write{65,65}
temp	int	$tmp41	%read{70,70} %write{69,69}
temp	float	$tmp42	%read{73,73} %write{71,71} %derivs
temp	float	$tmp43	%read{73,73} %write{72,72} %derivs
temp	float	$tmp44	%read{74,74} %write{73,73} %derivs
temp	float	$tmp45	%read{79,79} %write{78,78} %derivs
temp	float	$tmp46	%read{81,81} %write{79,79} %derivs
temp	float	$tmp47	%read{81,81} %write{80,80} %derivs
temp	float	$tmp48	%read{82,82} %write{81,81} %derivs
temp	float	$tmp49	%read{84,84} %write{83,83} %derivs
temp	float	$tmp50	%read{86,86} %write{84,84} %derivs
temp	float	$tmp51	%read{86,86} %write{85,85} %derivs
temp	float	$tmp52	%read{87,87} %write{86,86} %derivs
temp	float	$tmp53	%read{90,90} %write{88,88}
temp	float	$tmp54	%read{90,90} %write{89,89}
temp	int	$tmp55	%read{91,91} %write{90,90}
temp	float	$tmp56	%read{95,98} %write{92,96} %derivs
temp	float	$tmp57	%read{96,99} %write{93,97} %derivs
const	string	$const12	"swap"		%read{94,118} %write{2147483647,-1}
temp	int	$tmp58	%read{103,103} %write{102,102}
temp	float	$tmp59	%read{106,106} %write{105,105}
temp	int	$tmp60	%read{107,107} %write{106,106}
temp	float	$tmp61	%read{109,109} %write{108,108} %derivs
temp	float	$tmp62	%read{111,111} %write{109,109} %derivs
temp	float	$tmp63	%read{111,111} %write{110,110} %derivs
const	float	$const13	-1		%read{113,113} %write{2147483647,-1}
temp	float	$tmp64	%read{113,113} %write{112,112} %derivs
temp	float	$tmp65	%read{115,115} %write{113,113} %derivs
temp	float	$tmp66	%read{115,115} %write{114,114} %derivs
temp	int	$tmp67	%read{117,117} %write{116,116}
temp	float	$tmp68	%read{124,124} %write{123,123} %derivs
temp	float	$tmp69	%read{123,123} %write{122,122} %derivs
temp	float	$tmp70	%read{127,127} %write{126,126} %derivs
temp	float	$tmp71	%read{126,126} %write{125,125} %derivs
temp	float	$tmp72	%read{130,130} %write{128,128}
temp	float	$tmp73	%read{130,130} %write{129,129}
temp	int	$tmp74	%read{131,131} %write{130,130}
temp	float	$tmp75	%read{134,134} %write{133,133} %derivs
temp	float	$tmp76	%read{136,136} %write{135,135} %derivs
temp	float	$tmp77	%read{139,139} %write{138,138} %derivs
temp	float	$tmp78	%read{140,140} %write{139,139} %derivs
temp	float	$tmp79	%read{143,143} %write{142,142} %derivs
temp	float	$tmp80	%read{142,142} %write{141,141} %derivs
const	float	$const14	9.9999997e-005		%read{143,143} %write{2147483647,-1}
temp	float	$tmp81	%read{145,145} %write{144,144} %derivs
temp	float	$tmp82	%read{147,147} %write{146,146} %derivs
temp	float	$tmp83	%read{149,149} %write{148,148} %derivs
temp	vector	$tmp84	%read{151,151} %write{150,150} %derivs
temp	point	$tmp85	%read{154,160} %write{151,160} %derivs
const	string	$const15	"smokedensity"		%read{152,171} %write{2147483647,-1}
temp	int	$tmp86	%read{154,160} %write{154,160}
temp	int	$tmp87	%read{2147483647,-1} %write{158,158}
const	string	$const16	"light"		%read{158,177} %write{2147483647,-1}
const	string	$const17	"__foglight"		%read{158,177} %write{2147483647,-1}
temp	color	$tmp88	%read{154,160} %write{154,160}
temp	int	$tmp89	%read{162,214} %write{162,214}
const	float	$const18	0.0049999999		%read{167,167} %write{2147483647,-1}
temp	float	$tmp90	%read{166,166} %write{164,164} %derivs
const	string	$const19	"clamp"		%read{165,165} %write{2147483647,-1}
temp	float	$tmp91	%read{167,167} %write{166,166} %derivs
temp	vector	$tmp92	%read{170,170} %write{169,169} %derivs
temp	point	$tmp93	%read{173,179} %write{170,179} %derivs
temp	int	$tmp94	%read{173,179} %write{173,179}
temp	int	$tmp95	%read{2147483647,-1} %write{177,177}
temp	color	$tmp96	%read{173,179} %write{173,179}
temp	float	$tmp97	%read{182,182} %write{181,181}
temp	float	$tmp98	%read{184,184} %write{182,182}
temp	float	$tmp99	%read{184,184} %write{183,183}
temp	color	$tmp100	%read{186,186} %write{185,185}
temp	color	$tmp101	%read{188,188} %write{186,186}
temp	float	$tmp102	%read{188,188} %write{187,187}
temp	color	$tmp103	%read{189,189} %write{188,188}
temp	color	$tmp104	%read{190,190} %write{189,189}
temp	color	$tmp105	%read{194,194} %write{190,190}
temp	color	$tmp106	%read{193,193} %write{191,191}
temp	color	$tmp107	%read{193,193} %write{192,192}
temp	color	$tmp108	%read{194,194} %write{193,193}
temp	color	$tmp109	%read{196,196} %write{195,195}
const	float	$const20	1		%read{195,231} %write{2147483647,-1}
temp	color	$tmp110	%read{197,197} %write{196,196}
temp	color	$tmp111	%read{198,198} %write{197,197}
temp	color	$tmp112	%read{211,211} %write{199,199}
temp	color	$tmp113	%read{210,210} %write{209,209}
temp	float	$tmp114	%read{201,201} %write{200,200}
temp	color	$tmp115	%read{203,207} %write{201,201}
const	string	$const21	"colorexp"		%read{202,202} %write{2147483647,-1}
temp	float	$tmp116	%read{209,209} %write{204,204}
temp	float	$tmp117	%read{204,204} %write{203,203}
temp	float	$tmp118	%read{209,209} %write{206,206}
temp	float	$tmp119	%read{206,206} %write{205,205}
temp	float	$tmp120	%read{209,209} %write{208,208}
temp	float	$tmp121	%read{208,208} %write{207,207}
temp	color	$tmp122	%read{211,211} %write{210,210}
temp	color	$tmp123	%read{212,212} %write{211,211}
temp	int	$tmp124	%read{217,217} %write{216,216}
temp	int	$tmp125	%read{218,218} %write{217,217}
temp	int	$tmp126	%read{219,223} %write{218,222}
temp	int	$tmp127	%read{221,221} %write{220,220}
temp	int	$tmp128	%read{222,222} %write{221,221}
temp	color	$tmp129	%read{225,225} %write{224,224}
temp	color	$tmp130	%read{226,226} %write{225,225}
temp	color	$tmp131	%read{228,228} %write{227,227}
temp	color	$tmp132	%read{229,229} %write{228,228}
temp	color	$tmp133	%read{233,233} %write{230,230}
temp	color	$tmp134	%read{232,232} %write{231,231}
temp	color	$tmp135	%read{233,233} %write{232,232}
code ___main___
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:81
# 
	sub		Worigin P I 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{81} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:83
# 
	normalize	WIN I 	%line{83} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:85
# 
	assign		Cv $const1 	%line{85} %argrw{"wr"}
	assign		Ov $const1 	%argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:87
# 		float raymarchingstart, raymarchingend;
	for		$tmp2 6 8 215 216 	%line{87} %argrw{"r"}
	assign		___324_i $const1 	%argrw{"wr"}
	arraylength	$tmp1 vol_name 	%argrw{"wr"}
	lt		$tmp2 ___324_i $tmp1 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:90
# 		vector D = transform ("common", vol_coord[i], WIN);
	aref		$tmp3 vol_coord ___324_i 	%line{90} %argrw{"wrr"}
	transform	___325_O $const2 $tmp3 Worigin 	%argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:91
# 		if (vol_type[i] == "lightcone") { // intersection with a canonical cone (apex at origin, pointing downward the z axis, height = 1; radius = 1)
	aref		$tmp4 vol_coord ___324_i 	%line{91} %argrw{"wrr"}
	transformv	___325_D $const2 $tmp4 WIN 	%argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:92
# 			// setup a quadratic equation
	aref		$tmp5 vol_type ___324_i 	%line{92} %argrw{"wrr"}
	eq		$tmp6 $tmp5 $const3 	%argrw{"wrr"}
	if		$tmp6 137 138 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:94
# 			float b = 2 * (D[0] * O[0] + D[1] * O[1] - D[2] * O[2]);
	compref		$tmp8 ___325_D $const1 	%line{94} %argrw{"wrr"}
	functioncall	$const4 18 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\utils.h:35
# 	return x * x;
	mul		$tmp7 $tmp8 $tmp8 	%filename{"D:/xrt.git\\src\\osl\\shaders\\utils.h"} %line{35} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:94
#         }
	compref		$tmp10 ___325_D $const5 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{94} %argrw{"wrr"}
	functioncall	$const4 21 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\utils.h:35
# 	return x * x;
	mul		$tmp9 $tmp10 $tmp10 	%filename{"D:/xrt.git\\src\\osl\\shaders\\utils.h"} %line{35} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:94
#         }
	add		$tmp11 $tmp7 $tmp9 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{94} %argrw{"wrr"}
	compref		$tmp13 ___325_D $const6 	%argrw{"wrr"}
	functioncall	$const4 25 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\utils.h:35
# 	return x * x;
	mul		$tmp12 $tmp13 $tmp13 	%filename{"D:/xrt.git\\src\\osl\\shaders\\utils.h"} %line{35} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:94
#         }
	sub		___326_a $tmp11 $tmp12 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{94} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:95
#     }
	compref		$tmp14 ___325_D $const1 	%line{95} %argrw{"wrr"}
	compref		$tmp15 ___325_O $const1 	%argrw{"wrr"}
	mul		$tmp16 $tmp14 $tmp15 	%argrw{"wrr"}
	compref		$tmp17 ___325_D $const5 	%argrw{"wrr"}
	compref		$tmp18 ___325_O $const5 	%argrw{"wrr"}
	mul		$tmp19 $tmp17 $tmp18 	%argrw{"wrr"}
	add		$tmp20 $tmp16 $tmp19 	%argrw{"wrr"}
	compref		$tmp21 ___325_D $const6 	%argrw{"wrr"}
	compref		$tmp22 ___325_O $const6 	%argrw{"wrr"}
	mul		$tmp23 $tmp21 $tmp22 	%argrw{"wrr"}
	sub		$tmp24 $tmp20 $tmp23 	%argrw{"wrr"}
	mul		___326_b $const7 $tmp24 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:96
# }
	compref		$tmp26 ___325_O $const1 	%line{96} %argrw{"wrr"}
	functioncall	$const4 41 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\utils.h:35
# 	return x * x;
	mul		$tmp25 $tmp26 $tmp26 	%filename{"D:/xrt.git\\src\\osl\\shaders\\utils.h"} %line{35} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:96
# }
	compref		$tmp28 ___325_O $const5 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{96} %argrw{"wrr"}
	functioncall	$const4 44 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\utils.h:35
# 	return x * x;
	mul		$tmp27 $tmp28 $tmp28 	%filename{"D:/xrt.git\\src\\osl\\shaders\\utils.h"} %line{35} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:96
# }
	add		$tmp29 $tmp25 $tmp27 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{96} %argrw{"wrr"}
	compref		$tmp31 ___325_O $const6 	%argrw{"wrr"}
	functioncall	$const4 48 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\utils.h:35
# 	return x * x;
	mul		$tmp30 $tmp31 $tmp31 	%filename{"D:/xrt.git\\src\\osl\\shaders\\utils.h"} %line{35} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:96
# }
	sub		___326_c $tmp29 $tmp30 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{96} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:98
# volume mango_volume(
	functioncall	$const8 102 	%line{98} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:35
#         if (b == 0.0)
	eq		$tmp33 ___326_a $const9 	%line{35} %argrw{"wrr"}
	if		$tmp33 61 102 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:36
# 			return 0;
	eq		$tmp34 ___326_b $const9 	%line{36} %argrw{"wrr"}
	if		$tmp34 56 61 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:37
#         else {        
	assign		$tmp32 $const1 	%line{37} %argrw{"wr"}
	return
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:39
#             return 1;
	neg		$tmp35 ___326_c 	%line{39} %argrw{"wr"}
	div		$tmp36 $tmp35 ___326_b 	%argrw{"wrr"}
	aassign		___326_roots $const1 $tmp36 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:40
#         }
	assign		$tmp32 $const5 	%line{40} %argrw{"wr"}
	return
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:45
#         if (d < 0.0)
	mul		$tmp37 ___326_b ___326_b 	%line{45} %argrw{"wrr"}
	mul		$tmp38 $const11 ___326_a 	%argrw{"wrr"}
	mul		$tmp39 $tmp38 ___326_c 	%argrw{"wrr"}
	sub		___321_d $tmp37 $tmp39 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:46
# 			return 0;
	lt		$tmp40 ___321_d $const9 	%line{46} %argrw{"wrr"}
	if		$tmp40 69 102 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:47
# 		else if (d == 0.0) {
	assign		$tmp32 $const1 	%line{47} %argrw{"wr"}
	return
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:48
# 			roots[0] = -b/(2*a);
	eq		$tmp41 ___321_d $const9 	%line{48} %argrw{"wrr"}
	if		$tmp41 77 102 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:49
# 			return 1;
	neg		$tmp42 ___326_b 	%line{49} %argrw{"wr"}
	mul		$tmp43 $const7 ___326_a 	%argrw{"wrr"}
	div		$tmp44 $tmp42 $tmp43 	%argrw{"wrr"}
	aassign		___326_roots $const1 $tmp44 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:50
#         } 
	assign		$tmp32 $const5 	%line{50} %argrw{"wr"}
	return
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:54
# 			roots[0] = - (b - d)/(2*a);
	sqrt		___321_d ___321_d 	%line{54} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:55
# 			roots[1] = - (b + d)/(2*a);
	sub		$tmp45 ___326_b ___321_d 	%line{55} %argrw{"wrr"}
	neg		$tmp46 $tmp45 	%argrw{"wr"}
	mul		$tmp47 $const7 ___326_a 	%argrw{"wrr"}
	div		$tmp48 $tmp46 $tmp47 	%argrw{"wrr"}
	aassign		___326_roots $const1 $tmp48 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:56
# 			if (roots[0] > roots[1]) // Reorder if needed
	add		$tmp49 ___326_b ___321_d 	%line{56} %argrw{"wrr"}
	neg		$tmp50 $tmp49 	%argrw{"wr"}
	mul		$tmp51 $const7 ___326_a 	%argrw{"wrr"}
	div		$tmp52 $tmp50 $tmp51 	%argrw{"wrr"}
	aassign		___326_roots $const5 $tmp52 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:57
# 				swap (roots[0], roots[1]);
	aref		$tmp53 ___326_roots $const1 	%line{57} %argrw{"wrr"}
	aref		$tmp54 ___326_roots $const5 	%argrw{"wrr"}
	gt		$tmp55 $tmp53 $tmp54 	%argrw{"wrr"}
	if		$tmp55 100 100 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:58
#             return 2;
	aref		$tmp56 ___326_roots $const1 	%line{58} %argrw{"wrr"}
	aref		$tmp57 ___326_roots $const5 	%argrw{"wrr"}
	functioncall	$const12 98 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:29
# }
	assign		___317_tmp $tmp56 	%line{29} %argrw{"wr"}
	assign		$tmp56 $tmp57 	%argrw{"wr"}
	assign		$tmp57 ___317_tmp 	%argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:58
#             return 2;
	aassign		___326_roots $const1 $tmp56 	%line{58} %argrw{"wrr"}
	aassign		___326_roots $const5 $tmp57 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:59
#         }
	assign		$tmp32 $const6 	%line{59} %argrw{"wr"}
	return
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:98
# 				continue;
	neq		$tmp58 $tmp32 $const6 	%line{98} %argrw{"wrr"}
	if		$tmp58 105 105 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:99
# 			// clamp against plane z = 0 && z = -1;
	continue	%line{99}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:101
# 			{
	compref		$tmp59 ___325_D $const6 	%line{101} %argrw{"wrr"}
	neq		$tmp60 $tmp59 $const9 	%argrw{"wrr"}
	if		$tmp60 133 133 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:103
# 				float t1 = (-1.0 - O[2]) / D[2];
	compref		$tmp61 ___325_O $const6 	%line{103} %argrw{"wrr"}
	neg		$tmp62 $tmp61 	%argrw{"wr"}
	compref		$tmp63 ___325_D $const6 	%argrw{"wrr"}
	div		___327_t0 $tmp62 $tmp63 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:104
# 				if (t0 > t1) // Reorder if needed
	compref		$tmp64 ___325_O $const6 	%line{104} %argrw{"wrr"}
	sub		$tmp65 $const13 $tmp64 	%argrw{"wrr"}
	compref		$tmp66 ___325_D $const6 	%argrw{"wrr"}
	div		___327_t1 $tmp65 $tmp66 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:105
# 					swap (t0, t1);
	gt		$tmp67 ___327_t0 ___327_t1 	%line{105} %argrw{"wrr"}
	if		$tmp67 122 122 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:106
# 				roots[0] = max (t0, roots[0]);
	functioncall	$const12 122 	%line{106} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:29
# }
	assign		___317_tmp ___327_t0 	%line{29} %argrw{"wr"}
	assign		___327_t0 ___327_t1 	%argrw{"wr"}
	assign		___327_t1 ___317_tmp 	%argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:107
# 				roots[1] = min (t1, roots[1]);
	aref		$tmp69 ___326_roots $const1 	%line{107} %argrw{"wrr"}
	max		$tmp68 ___327_t0 $tmp69 	%argrw{"wrr"}
	aassign		___326_roots $const1 $tmp68 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:108
# 				if (roots[0] >= roots[1])
	aref		$tmp71 ___326_roots $const5 	%line{108} %argrw{"wrr"}
	min		$tmp70 ___327_t1 $tmp71 	%argrw{"wrr"}
	aassign		___326_roots $const5 $tmp70 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:109
# 					continue;
	aref		$tmp72 ___326_roots $const1 	%line{109} %argrw{"wrr"}
	aref		$tmp73 ___326_roots $const5 	%argrw{"wrr"}
	ge		$tmp74 $tmp72 $tmp73 	%argrw{"wrr"}
	if		$tmp74 133 133 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:110
# 			}
	continue	%line{110}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:112
# 			raymarchingend = min (integend, roots[1]);
	aref		$tmp75 ___326_roots $const1 	%line{112} %argrw{"wrr"}
	max		___325_raymarchingstart integstart $tmp75 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:113
# 		}
	aref		$tmp76 ___326_roots $const5 	%line{113} %argrw{"wrr"}
	min		___325_raymarchingend integend $tmp76 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:116
# 
	continue	%line{116}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:119
# 		// Calculate a reasonable step size
	random		$tmp77 	%line{119} %argrw{"w"}
	mul		$tmp78 $tmp77 stepsize 	%argrw{"wrr"}
	sub		___325_d ___325_raymarchingstart $tmp78 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:121
# 		float minss = (end-d) / maxsteps;
	length		$tmp80 I 	%line{121} %argrw{"wr"}
	min		$tmp79 $tmp80 ___325_raymarchingend 	%argrw{"wrr"}
	sub		___325_end $tmp79 $const14 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:122
# 		float maxss = (end-d) / minsteps;
	sub		$tmp81 ___325_end ___325_d 	%line{122} %argrw{"wrr"}
	div		___325_minss $tmp81 maxsteps 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:123
# 		float ss = min (max (minss, stepsize), maxss);
	sub		$tmp82 ___325_end ___325_d 	%line{123} %argrw{"wrr"}
	div		___325_maxss $tmp82 minsteps 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:124
# 
	max		$tmp83 ___325_minss stepsize 	%line{124} %argrw{"wrr"}
	min		___325_ss $tmp83 ___325_maxss 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:131
# 
	mul		$tmp84 ___325_d WIN 	%line{131} %argrw{"wrr"}
	add		$tmp85 Worigin $tmp84 	%argrw{"wrr"}
	functioncall	$const15 162 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:11
#     lights (Pcur) {
	assign		___325_last_li $const1 	%line{11} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:12
# 		float foglight = 1;
	for		$tmp86 156 157 161 161 	%line{12} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:16
# 	smoke = 1;
	lights_begin	$tmp85 	%line{16} %argrw{"r"}
	lights		$tmp86 $tmp85 	%argrw{"wr"} %argderivs{1}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:13
# 		getmessage("light", "__foglight",foglight);
	assign		___315_foglight $const5 	%line{13} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:14
#         Lscatter += foglight * Cl;
	getmessage	$tmp87 $const16 $const17 ___315_foglight 	%line{14} %argrw{"wrrw"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:15
#     }
	mul		$tmp88 ___315_foglight Cl 	%line{15} %argrw{"wrr"}
	add		___325_last_li ___325_last_li $tmp88 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:17
# }
	assign		___325_last_dtau $const5 	%line{17} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:134
# 			// Take a step and get the local scattered light and smoke density
	while		$tmp89 163 164 215 215 	%line{134} %argrw{"r"}
	lt		$tmp89 ___325_d ___325_end 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:136
# 			d += ss;
	sub		$tmp90 ___325_end ___325_d 	%line{136} %argrw{"wrr"}
	functioncall	$const19 168 	%argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:144
# //   notice, this list of conditions and the following disclaimer.
	min		$tmp91 ___325_ss $tmp90 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{144} %argrw{"wrr"}
	max		___325_ss $tmp91 $const18 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:137
# 			smokedensity (Worigin + d*WIN, li, dtau);
	add		___325_d ___325_d ___325_ss 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl"} %line{137} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:138
# 	
	mul		$tmp92 ___325_d WIN 	%line{138} %argrw{"wrr"}
	add		$tmp93 Worigin $tmp92 	%argrw{"wrr"}
	functioncall	$const15 181 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:11
#     lights (Pcur) {
	assign		___325_li $const1 	%line{11} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:12
# 		float foglight = 1;
	for		$tmp94 175 176 180 180 	%line{12} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:16
# 	smoke = 1;
	lights_begin	$tmp93 	%line{16} %argrw{"r"}
	lights		$tmp94 $tmp93 	%argrw{"wr"} %argderivs{1}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:13
# 		getmessage("light", "__foglight",foglight);
	assign		___315_foglight $const5 	%line{13} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:14
#         Lscatter += foglight * Cl;
	getmessage	$tmp95 $const16 $const17 ___315_foglight 	%line{14} %argrw{"wrrw"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:15
#     }
	mul		$tmp96 ___315_foglight Cl 	%line{15} %argrw{"wrr"}
	add		___325_li ___325_li $tmp96 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:17
# }
	assign		___325_dtau $const5 	%line{17} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:142
# 			color lighttau = vol_color[i] * lightdensity * vol_density[i] * ss/2 * (li*dtau + last_li*last_dtau);
	div		$tmp97 ___325_ss $const7 	%line{142} %argrw{"wrr"}
	mul		$tmp98 opacdensity $tmp97 	%argrw{"wrr"}
	add		$tmp99 ___325_dtau ___325_last_dtau 	%argrw{"wrr"}
	mul		___328_tau $tmp98 $tmp99 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:143
# 	
	aref		$tmp100 vol_color ___324_i 	%line{143} %argrw{"wrr"}
	mul		$tmp101 $tmp100 lightdensity 	%argrw{"wrr"}
	aref		$tmp102 vol_density ___324_i 	%argrw{"wrr"}
	mul		$tmp103 $tmp101 $tmp102 	%argrw{"wrr"}
	mul		$tmp104 $tmp103 ___325_ss 	%argrw{"wrr"}
	div		$tmp105 $tmp104 $const7 	%argrw{"wrr"}
	mul		$tmp106 ___325_li ___325_dtau 	%argrw{"wrr"}
	mul		$tmp107 ___325_last_li ___325_last_dtau 	%argrw{"wrr"}
	add		$tmp108 $tmp106 $tmp107 	%argrw{"wrr"}
	mul		___328_lighttau $tmp105 $tmp108 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:146
# 			Ov += (1-Ov) * (1 - colorexp (-tau*scatter));
	sub		$tmp109 $const20 Ov 	%line{146} %argrw{"wrr"}
	mul		$tmp110 $tmp109 ___328_lighttau 	%argrw{"wrr"}
	mul		$tmp111 $tmp110 scatter 	%argrw{"wrr"}
	add		Cv Cv $tmp111 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:147
# 			last_dtau = dtau;
	sub		$tmp112 $const20 Ov 	%line{147} %argrw{"wrr"}
	neg		$tmp114 ___328_tau 	%argrw{"wr"}
	mul		$tmp115 $tmp114 scatter 	%argrw{"wrr"}
	functioncall	$const21 210 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:24
# }
	compref		$tmp117 $tmp115 $const1 	%line{24} %argrw{"wrr"}
	exp		$tmp116 $tmp117 	%argrw{"wr"}
	compref		$tmp119 $tmp115 $const5 	%argrw{"wrr"}
	exp		$tmp118 $tmp119 	%argrw{"wr"}
	compref		$tmp121 $tmp115 $const6 	%argrw{"wrr"}
	exp		$tmp120 $tmp121 	%argrw{"wr"}
	color		$tmp113 $tmp116 $tmp118 $tmp120 	%argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:147
# 			last_dtau = dtau;
	sub		$tmp122 $const20 $tmp113 	%line{147} %argrw{"wrr"}
	mul		$tmp123 $tmp112 $tmp122 	%argrw{"wrr"}
	add		Ov Ov $tmp123 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:148
# 			last_li = li;
	assign		___325_last_dtau ___325_dtau 	%line{148} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:149
# 		}
	assign		___325_last_li ___325_li 	%line{149} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:87
# 		float raymarchingstart, raymarchingend;
	add		___324_i ___324_i $const5 	%line{87} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:157
#         // Standard compositing model:  volume over surface
	raylevel	$tmp124 	%line{157} %argrw{"w"}
	gt		$tmp125 $tmp124 $const1 	%argrw{"wrr"}
	neq		$tmp126 $tmp125 $const1 	%argrw{"wrr"}
	if		$tmp126 220 223 	%argrw{"r"}
	neq		$tmp127 background_object $const1 	%argrw{"wrr"}
	neq		$tmp128 $tmp127 $const1 	%argrw{"wrr"}
	assign		$tmp126 $tmp128 	%argrw{"wr"}
	if		$tmp126 230 234 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:159
#         opacity = Ov + (1-Ov)*opacity;
	sub		$tmp129 $const20 Ov 	%line{159} %argrw{"wrr"}
	mul		$tmp130 $tmp129 C 	%argrw{"wrr"}
	add		C Cv $tmp130 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:160
#     } else {
	sub		$tmp131 $const20 Ov 	%line{160} %argrw{"wrr"}
	mul		$tmp132 $tmp131 opacity 	%argrw{"wrr"}
	add		opacity Ov $tmp132 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\mango_volume.osl:170
#     }
	mul		$tmp133 Cv opacity 	%line{170} %argrw{"wrr"}
	sub		$tmp134 $const20 Ov 	%argrw{"wrr"}
	mul		$tmp135 $tmp134 C 	%argrw{"wrr"}
	add		C $tmp133 $tmp135 	%argrw{"wrr"}
	end
