OpenShadingLanguage 1.00
# Compiled by oslc 1.11.17
# options: -q -O2 -I/build/blender/src/blender/intern/cycles/kernel/osl/shaders -I/usr/share/OSL/shaders -o /build/blender/src/blender/build/intern/cycles/kernel/osl/shaders/node_math.oso
shader node_math
param	string	math_type	"add"		%read{0,212} %write{2147483647,-1}
param	float	Value1	0.5		%read{2,214} %write{2147483647,-1}
param	float	Value2	0.5		%read{2,215} %write{2147483647,-1}
param	float	Value3	0.5		%read{111,227} %write{2147483647,-1}
oparam	float	Value	0		%read{2147483647,-1} %write{2,234}
local	float	___335_h	%read{203,226} %write{201,223}
local	float	___342_range	%read{112,117} %write{111,111}
const	string	$const1	"add"		%read{0,0} %write{2147483647,-1}
temp	int	$tmp1	%read{1,1} %write{0,0}
const	string	$const2	"subtract"		%read{3,3} %write{2147483647,-1}
temp	int	$tmp2	%read{4,4} %write{3,3}
const	string	$const3	"multiply"		%read{6,6} %write{2147483647,-1}
temp	int	$tmp3	%read{7,7} %write{6,6}
const	string	$const4	"divide"		%read{9,9} %write{2147483647,-1}
temp	int	$tmp4	%read{10,10} %write{9,9}
const	string	$const5	"safe_divide"		%read{11,100} %write{2147483647,-1}
const	float	$const6	0		%read{12,222} %write{2147483647,-1}
temp	int	$tmp5	%read{13,13} %write{12,12}
const	string	$const7	"power"		%read{17,17} %write{2147483647,-1}
temp	int	$tmp6	%read{18,18} %write{17,17}
const	string	$const8	"logarithm"		%read{20,20} %write{2147483647,-1}
temp	int	$tmp7	%read{21,21} %write{20,20}
const	string	$const9	"safe_log"		%read{22,22} %write{2147483647,-1}
temp	int	$tmp8	%read{24,24} %write{23,23}
temp	int	$tmp9	%read{25,29} %write{24,28}
const	int	$const10	0		%read{24,183} %write{2147483647,-1}
temp	int	$tmp10	%read{27,27} %write{26,26}
temp	int	$tmp11	%read{28,28} %write{27,27}
temp	float	$tmp12	%read{32,32} %write{30,30}
temp	float	$tmp13	%read{32,32} %write{31,31}
const	string	$const11	"sqrt"		%read{35,35} %write{2147483647,-1}
temp	int	$tmp14	%read{36,36} %write{35,35}
const	string	$const12	"safe_sqrt"		%read{37,37} %write{2147483647,-1}
temp	int	$tmp15	%read{39,39} %write{38,38}
const	string	$const13	"inversesqrt"		%read{43,43} %write{2147483647,-1}
temp	int	$tmp16	%read{44,44} %write{43,43}
const	string	$const14	"absolute"		%read{46,46} %write{2147483647,-1}
temp	int	$tmp17	%read{47,47} %write{46,46}
const	string	$const15	"radians"		%read{49,51} %write{2147483647,-1}
temp	int	$tmp18	%read{50,50} %write{49,49}
const	float	$const16	3.14159274		%read{52,57} %write{2147483647,-1}
const	float	$const17	180		%read{52,57} %write{2147483647,-1}
temp	float	$tmp19	%read{53,53} %write{52,52}
const	string	$const18	"degrees"		%read{54,56} %write{2147483647,-1}
temp	int	$tmp20	%read{55,55} %write{54,54}
temp	float	$tmp21	%read{58,58} %write{57,57}
const	string	$const19	"minimum"		%read{59,59} %write{2147483647,-1}
temp	int	$tmp22	%read{60,60} %write{59,59}
const	string	$const20	"maximum"		%read{62,62} %write{2147483647,-1}
temp	int	$tmp23	%read{63,63} %write{62,62}
const	string	$const21	"less_than"		%read{65,65} %write{2147483647,-1}
temp	int	$tmp24	%read{66,66} %write{65,65}
temp	int	$tmp25	%read{68,68} %write{67,67}
const	string	$const22	"greater_than"		%read{69,69} %write{2147483647,-1}
temp	int	$tmp26	%read{70,70} %write{69,69}
temp	int	$tmp27	%read{72,72} %write{71,71}
const	string	$const23	"round"		%read{73,73} %write{2147483647,-1}
temp	int	$tmp28	%read{74,74} %write{73,73}
const	float	$const24	0.5		%read{75,75} %write{2147483647,-1}
temp	float	$tmp29	%read{76,76} %write{75,75}
const	string	$const25	"floor"		%read{77,77} %write{2147483647,-1}
temp	int	$tmp30	%read{78,78} %write{77,77}
const	string	$const26	"ceil"		%read{80,80} %write{2147483647,-1}
temp	int	$tmp31	%read{81,81} %write{80,80}
const	string	$const27	"fraction"		%read{83,83} %write{2147483647,-1}
temp	int	$tmp32	%read{84,84} %write{83,83}
temp	float	$tmp33	%read{86,86} %write{85,85}
const	string	$const28	"modulo"		%read{87,87} %write{2147483647,-1}
temp	int	$tmp34	%read{88,88} %write{87,87}
const	string	$const29	"safe_modulo"		%read{89,89} %write{2147483647,-1}
temp	int	$tmp35	%read{91,91} %write{90,90}
const	string	$const30	"trunc"		%read{95,95} %write{2147483647,-1}
temp	int	$tmp36	%read{96,96} %write{95,95}
const	string	$const31	"snap"		%read{98,98} %write{2147483647,-1}
temp	int	$tmp37	%read{99,99} %write{98,98}
temp	float	$tmp38	%read{107,107} %write{106,106}
temp	float	$tmp39	%read{106,106} %write{103,104}
temp	int	$tmp40	%read{102,102} %write{101,101}
const	string	$const32	"wrap"		%read{108,110} %write{2147483647,-1}
temp	int	$tmp41	%read{109,109} %write{108,108}
temp	int	$tmp42	%read{113,113} %write{112,112}
temp	float	$tmp43	%read{117,117} %write{116,116}
temp	float	$tmp44	%read{115,115} %write{114,114}
temp	float	$tmp45	%read{116,116} %write{115,115}
temp	float	$tmp46	%read{118,118} %write{117,117}
const	string	$const33	"pingpong"		%read{121,123} %write{2147483647,-1}
temp	int	$tmp47	%read{122,122} %write{121,121}
temp	int	$tmp48	%read{125,125} %write{124,124}
temp	float	$tmp49	%read{132,132} %write{131,131}
temp	float	$tmp50	%read{128,128} %write{126,126}
const	float	$const34	2		%read{127,133} %write{2147483647,-1}
temp	float	$tmp51	%read{128,128} %write{127,127}
temp	float	$tmp52	%read{130,131} %write{128,128}
const	string	$const35	"fract"		%read{129,129} %write{2147483647,-1}
temp	float	$tmp53	%read{131,131} %write{130,130}
temp	float	$tmp54	%read{133,133} %write{132,132}
temp	float	$tmp55	%read{134,134} %write{133,133}
temp	float	$tmp56	%read{135,135} %write{134,134}
const	string	$const36	"sine"		%read{138,138} %write{2147483647,-1}
temp	int	$tmp57	%read{139,139} %write{138,138}
const	string	$const37	"cosine"		%read{141,141} %write{2147483647,-1}
temp	int	$tmp58	%read{142,142} %write{141,141}
const	string	$const38	"tangent"		%read{144,144} %write{2147483647,-1}
temp	int	$tmp59	%read{145,145} %write{144,144}
const	string	$const39	"sinh"		%read{147,147} %write{2147483647,-1}
temp	int	$tmp60	%read{148,148} %write{147,147}
const	string	$const40	"cosh"		%read{150,150} %write{2147483647,-1}
temp	int	$tmp61	%read{151,151} %write{150,150}
const	string	$const41	"tanh"		%read{153,153} %write{2147483647,-1}
temp	int	$tmp62	%read{154,154} %write{153,153}
const	string	$const42	"arcsine"		%read{156,156} %write{2147483647,-1}
temp	int	$tmp63	%read{157,157} %write{156,156}
const	string	$const43	"arccosine"		%read{159,159} %write{2147483647,-1}
temp	int	$tmp64	%read{160,160} %write{159,159}
const	string	$const44	"arctangent"		%read{162,162} %write{2147483647,-1}
temp	int	$tmp65	%read{163,163} %write{162,162}
const	string	$const45	"arctan2"		%read{165,165} %write{2147483647,-1}
temp	int	$tmp66	%read{166,166} %write{165,165}
const	string	$const46	"sign"		%read{168,168} %write{2147483647,-1}
temp	int	$tmp67	%read{169,169} %write{168,168}
const	string	$const47	"exponent"		%read{171,171} %write{2147483647,-1}
temp	int	$tmp68	%read{172,172} %write{171,171}
const	string	$const48	"compare"		%read{174,174} %write{2147483647,-1}
temp	int	$tmp69	%read{175,175} %write{174,174}
temp	int	$tmp70	%read{177,177} %write{176,176}
temp	int	$tmp71	%read{178,185} %write{177,184}
temp	float	$tmp72	%read{182,182} %write{180,180}
temp	float	$tmp73	%read{180,180} %write{179,179}
temp	float	$tmp74	%read{182,182} %write{181,181}
const	float	$const49	9.99999975e-06		%read{181,181} %write{2147483647,-1}
temp	int	$tmp75	%read{183,183} %write{182,182}
temp	int	$tmp76	%read{184,184} %write{183,183}
const	float	$const50	1		%read{186,228} %write{2147483647,-1}
const	string	$const51	"multiply_add"		%read{188,188} %write{2147483647,-1}
temp	int	$tmp77	%read{189,189} %write{188,188}
temp	float	$tmp78	%read{191,191} %write{190,190}
const	string	$const52	"smoothmin"		%read{192,216} %write{2147483647,-1}
temp	int	$tmp79	%read{193,193} %write{192,192}
temp	int	$tmp80	%read{196,196} %write{195,195}
temp	float	$tmp81	%read{201,201} %write{200,200}
temp	float	$tmp82	%read{199,199} %write{198,198}
temp	float	$tmp83	%read{198,198} %write{197,197}
temp	float	$tmp84	%read{200,200} %write{199,199}
temp	float	$tmp85	%read{208,208} %write{202,202}
temp	float	$tmp86	%read{204,204} %write{203,203}
temp	float	$tmp87	%read{205,205} %write{204,204}
temp	float	$tmp88	%read{207,207} %write{205,205}
const	float	$const53	6		%read{206,228} %write{2147483647,-1}
temp	float	$tmp89	%read{207,207} %write{206,206}
temp	float	$tmp90	%read{208,208} %write{207,207}
const	string	$const54	"smoothmax"		%read{212,212} %write{2147483647,-1}
temp	int	$tmp91	%read{213,213} %write{212,212}
temp	float	$tmp92	%read{234,234} %write{230,232}
temp	float	$tmp93	%read{219,232} %write{214,214}
temp	float	$tmp94	%read{219,232} %write{215,215}
temp	int	$tmp95	%read{218,218} %write{217,217}
temp	float	$tmp96	%read{223,223} %write{222,222}
temp	float	$tmp97	%read{221,221} %write{220,220}
temp	float	$tmp98	%read{220,220} %write{219,219}
temp	float	$tmp99	%read{222,222} %write{221,221}
temp	float	$tmp100	%read{230,230} %write{224,224}
temp	float	$tmp101	%read{226,226} %write{225,225}
temp	float	$tmp102	%read{227,227} %write{226,226}
temp	float	$tmp103	%read{229,229} %write{227,227}
temp	float	$tmp104	%read{229,229} %write{228,228}
temp	float	$tmp105	%read{230,230} %write{229,229}
const	string	$const55	"%s"		%read{235,235} %write{2147483647,-1}
const	string	$const56	"Unknown math operator!"		%read{235,235} %write{2147483647,-1}
code ___main___
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:14
#   if (math_type == "add")
	eq		$tmp1 math_type $const1 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{14} %argrw{"wrr"}
	if		$tmp1 3 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:15
#     Value = Value1 + Value2;
	add		Value Value1 Value2 	%line{15} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:16
#   else if (math_type == "subtract")
	eq		$tmp2 math_type $const2 	%line{16} %argrw{"wrr"}
	if		$tmp2 6 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:17
#     Value = Value1 - Value2;
	sub		Value Value1 Value2 	%line{17} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:18
#   else if (math_type == "multiply")
	eq		$tmp3 math_type $const3 	%line{18} %argrw{"wrr"}
	if		$tmp3 9 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:19
#     Value = Value1 * Value2;
	mul		Value Value1 Value2 	%line{19} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:20
#   else if (math_type == "divide")
	eq		$tmp4 math_type $const4 	%line{20} %argrw{"wrr"}
	if		$tmp4 17 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:21
#     Value = safe_divide(Value1, Value2);
	functioncall	$const5 17 	%line{21} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:6
#   return (b != 0.0) ? a / b : 0.0;
	neq		$tmp5 Value2 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{6} %argrw{"wrr"}
	if		$tmp5 15 16 	%argrw{"r"}
	div		Value Value1 Value2 	%argrw{"wrr"}
	assign		Value $const6 	%argrw{"wr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:22
#   else if (math_type == "power")
	eq		$tmp6 math_type $const7 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{22} %argrw{"wrr"}
	if		$tmp6 20 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:23
#     Value = pow(Value1, Value2);
	pow		Value Value1 Value2 	%line{23} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:24
#   else if (math_type == "logarithm")
	eq		$tmp7 math_type $const8 	%line{24} %argrw{"wrr"}
	if		$tmp7 35 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:25
#     Value = safe_log(Value1, Value2);
	functioncall	$const9 35 	%line{25} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:50
#   return (a > 0.0 && b > 0.0) ? log(a) / log(b) : 0.0;
	gt		$tmp8 Value1 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{50} %argrw{"wrr"}
	neq		$tmp9 $tmp8 $const10 	%argrw{"wrr"}
	if		$tmp9 29 29 	%argrw{"r"}
	gt		$tmp10 Value2 $const6 	%argrw{"wrr"}
	neq		$tmp11 $tmp10 $const10 	%argrw{"wrr"}
	assign		$tmp9 $tmp11 	%argrw{"wr"}
	if		$tmp9 33 34 	%argrw{"r"}
	log		$tmp12 Value1 	%argrw{"wr"}
	log		$tmp13 Value2 	%argrw{"wr"}
	div		Value $tmp12 $tmp13 	%argrw{"wrr"}
	assign		Value $const6 	%argrw{"wr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:26
#   else if (math_type == "sqrt")
	eq		$tmp14 math_type $const11 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{26} %argrw{"wrr"}
	if		$tmp14 43 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:27
#     Value = safe_sqrt(Value1);
	functioncall	$const12 43 	%line{27} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:45
#   return (a > 0.0) ? sqrt(a) : 0.0;
	gt		$tmp15 Value1 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{45} %argrw{"wrr"}
	if		$tmp15 41 42 	%argrw{"r"}
	sqrt		Value Value1 	%argrw{"wr"}
	assign		Value $const6 	%argrw{"wr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:28
#   else if (math_type == "inversesqrt")
	eq		$tmp16 math_type $const13 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{28} %argrw{"wrr"}
	if		$tmp16 46 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:29
#     Value = inversesqrt(Value1);
	inversesqrt	Value Value1 	%line{29} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:30
#   else if (math_type == "absolute")
	eq		$tmp17 math_type $const14 	%line{30} %argrw{"wrr"}
	if		$tmp17 49 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:31
#     Value = fabs(Value1);
	fabs		Value Value1 	%line{31} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:32
#   else if (math_type == "radians")
	eq		$tmp18 math_type $const15 	%line{32} %argrw{"wrr"}
	if		$tmp18 54 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:33
#     Value = radians(Value1);
	functioncall	$const15 54 	%line{33} %argrw{"r"}
# /usr/share/OSL/shaders/stdosl.h:65
# float  radians (float x)  { return x*(M_PI/180.0); }
	div		$tmp19 $const16 $const17 	%filename{"/usr/share/OSL/shaders/stdosl.h"} %line{65} %argrw{"wrr"}
	mul		Value Value1 $tmp19 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:34
#   else if (math_type == "degrees")
	eq		$tmp20 math_type $const18 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{34} %argrw{"wrr"}
	if		$tmp20 59 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:35
#     Value = degrees(Value1);
	functioncall	$const18 59 	%line{35} %argrw{"r"}
# /usr/share/OSL/shaders/stdosl.h:60
# float  degrees (float x)  { return x*(180.0/M_PI); }
	div		$tmp21 $const17 $const16 	%filename{"/usr/share/OSL/shaders/stdosl.h"} %line{60} %argrw{"wrr"}
	mul		Value Value1 $tmp21 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:36
#   else if (math_type == "minimum")
	eq		$tmp22 math_type $const19 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{36} %argrw{"wrr"}
	if		$tmp22 62 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:37
#     Value = min(Value1, Value2);
	min		Value Value1 Value2 	%line{37} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:38
#   else if (math_type == "maximum")
	eq		$tmp23 math_type $const20 	%line{38} %argrw{"wrr"}
	if		$tmp23 65 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:39
#     Value = max(Value1, Value2);
	max		Value Value1 Value2 	%line{39} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:40
#   else if (math_type == "less_than")
	eq		$tmp24 math_type $const21 	%line{40} %argrw{"wrr"}
	if		$tmp24 69 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:41
#     Value = Value1 < Value2;
	lt		$tmp25 Value1 Value2 	%line{41} %argrw{"wrr"}
	assign		Value $tmp25 	%argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:42
#   else if (math_type == "greater_than")
	eq		$tmp26 math_type $const22 	%line{42} %argrw{"wrr"}
	if		$tmp26 73 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:43
#     Value = Value1 > Value2;
	gt		$tmp27 Value1 Value2 	%line{43} %argrw{"wrr"}
	assign		Value $tmp27 	%argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:44
#   else if (math_type == "round")
	eq		$tmp28 math_type $const23 	%line{44} %argrw{"wrr"}
	if		$tmp28 77 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:45
#     Value = floor(Value1 + 0.5);
	add		$tmp29 Value1 $const24 	%line{45} %argrw{"wrr"}
	floor		Value $tmp29 	%argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:46
#   else if (math_type == "floor")
	eq		$tmp30 math_type $const25 	%line{46} %argrw{"wrr"}
	if		$tmp30 80 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:47
#     Value = floor(Value1);
	floor		Value Value1 	%line{47} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:48
#   else if (math_type == "ceil")
	eq		$tmp31 math_type $const26 	%line{48} %argrw{"wrr"}
	if		$tmp31 83 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:49
#     Value = ceil(Value1);
	ceil		Value Value1 	%line{49} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:50
#   else if (math_type == "fraction")
	eq		$tmp32 math_type $const27 	%line{50} %argrw{"wrr"}
	if		$tmp32 87 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:51
#     Value = Value1 - floor(Value1);
	floor		$tmp33 Value1 	%line{51} %argrw{"wr"}
	sub		Value Value1 $tmp33 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:52
#   else if (math_type == "modulo")
	eq		$tmp34 math_type $const28 	%line{52} %argrw{"wrr"}
	if		$tmp34 95 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:53
#     Value = safe_modulo(Value1, Value2);
	functioncall	$const29 95 	%line{53} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:18
#   return (b != 0.0) ? fmod(a, b) : 0.0;
	neq		$tmp35 Value2 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{18} %argrw{"wrr"}
	if		$tmp35 93 94 	%argrw{"r"}
	fmod		Value Value1 Value2 	%argrw{"wrr"}
	assign		Value $const6 	%argrw{"wr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:54
#   else if (math_type == "trunc")
	eq		$tmp36 math_type $const30 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{54} %argrw{"wrr"}
	if		$tmp36 98 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:55
#     Value = trunc(Value1);
	trunc		Value Value1 	%line{55} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:56
#   else if (math_type == "snap")
	eq		$tmp37 math_type $const31 	%line{56} %argrw{"wrr"}
	if		$tmp37 108 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:57
#     Value = floor(safe_divide(Value1, Value2)) * Value2;
	functioncall	$const5 106 	%line{57} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:6
#   return (b != 0.0) ? a / b : 0.0;
	neq		$tmp40 Value2 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{6} %argrw{"wrr"}
	if		$tmp40 104 105 	%argrw{"r"}
	div		$tmp39 Value1 Value2 	%argrw{"wrr"}
	assign		$tmp39 $const6 	%argrw{"wr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:57
#     Value = floor(safe_divide(Value1, Value2)) * Value2;
	floor		$tmp38 $tmp39 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{57} %argrw{"wr"}
	mul		Value $tmp38 Value2 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:58
#   else if (math_type == "wrap")
	eq		$tmp41 math_type $const32 	%line{58} %argrw{"wrr"}
	if		$tmp41 121 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:59
#     Value = wrap(Value1, Value2, Value3);
	functioncall	$const32 121 	%line{59} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:67
#   float range = max - min;
	sub		___342_range Value2 Value3 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{67} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:68
#   return (range != 0.0) ? value - (range * floor((value - min) / range)) : min;
	neq		$tmp42 ___342_range $const6 	%line{68} %argrw{"wrr"}
	if		$tmp42 119 120 	%argrw{"r"}
	sub		$tmp44 Value1 Value3 	%argrw{"wrr"}
	div		$tmp45 $tmp44 ___342_range 	%argrw{"wrr"}
	floor		$tmp43 $tmp45 	%argrw{"wr"}
	mul		$tmp46 ___342_range $tmp43 	%argrw{"wrr"}
	sub		Value Value1 $tmp46 	%argrw{"wrr"}
	assign		Value Value3 	%argrw{"wr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:60
#   else if (math_type == "pingpong")
	eq		$tmp47 math_type $const33 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{60} %argrw{"wrr"}
	if		$tmp47 138 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:61
#     Value = pingpong(Value1, Value2);
	functioncall	$const33 138 	%line{61} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:40
#   return (b != 0.0) ? abs(fract((a - b) / (b * 2.0)) * b * 2.0 - b) : 0.0;
	neq		$tmp48 Value2 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{40} %argrw{"wrr"}
	if		$tmp48 136 137 	%argrw{"r"}
	sub		$tmp50 Value1 Value2 	%argrw{"wrr"}
	mul		$tmp51 Value2 $const34 	%argrw{"wrr"}
	div		$tmp52 $tmp50 $tmp51 	%argrw{"wrr"}
	functioncall	$const35 132 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:23
#   return a - floor(a);
	floor		$tmp53 $tmp52 	%line{23} %argrw{"wr"}
	sub		$tmp49 $tmp52 $tmp53 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:40
#   return (b != 0.0) ? abs(fract((a - b) / (b * 2.0)) * b * 2.0 - b) : 0.0;
	mul		$tmp54 $tmp49 Value2 	%line{40} %argrw{"wrr"}
	mul		$tmp55 $tmp54 $const34 	%argrw{"wrr"}
	sub		$tmp56 $tmp55 Value2 	%argrw{"wrr"}
	abs		Value $tmp56 	%argrw{"wr"}
	assign		Value $const6 	%argrw{"wr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:62
#   else if (math_type == "sine")
	eq		$tmp57 math_type $const36 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{62} %argrw{"wrr"}
	if		$tmp57 141 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:63
#     Value = sin(Value1);
	sin		Value Value1 	%line{63} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:64
#   else if (math_type == "cosine")
	eq		$tmp58 math_type $const37 	%line{64} %argrw{"wrr"}
	if		$tmp58 144 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:65
#     Value = cos(Value1);
	cos		Value Value1 	%line{65} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:66
#   else if (math_type == "tangent")
	eq		$tmp59 math_type $const38 	%line{66} %argrw{"wrr"}
	if		$tmp59 147 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:67
#     Value = tan(Value1);
	tan		Value Value1 	%line{67} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:68
#   else if (math_type == "sinh")
	eq		$tmp60 math_type $const39 	%line{68} %argrw{"wrr"}
	if		$tmp60 150 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:69
#     Value = sinh(Value1);
	sinh		Value Value1 	%line{69} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:70
#   else if (math_type == "cosh")
	eq		$tmp61 math_type $const40 	%line{70} %argrw{"wrr"}
	if		$tmp61 153 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:71
#     Value = cosh(Value1);
	cosh		Value Value1 	%line{71} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:72
#   else if (math_type == "tanh")
	eq		$tmp62 math_type $const41 	%line{72} %argrw{"wrr"}
	if		$tmp62 156 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:73
#     Value = tanh(Value1);
	tanh		Value Value1 	%line{73} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:74
#   else if (math_type == "arcsine")
	eq		$tmp63 math_type $const42 	%line{74} %argrw{"wrr"}
	if		$tmp63 159 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:75
#     Value = asin(Value1);
	asin		Value Value1 	%line{75} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:76
#   else if (math_type == "arccosine")
	eq		$tmp64 math_type $const43 	%line{76} %argrw{"wrr"}
	if		$tmp64 162 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:77
#     Value = acos(Value1);
	acos		Value Value1 	%line{77} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:78
#   else if (math_type == "arctangent")
	eq		$tmp65 math_type $const44 	%line{78} %argrw{"wrr"}
	if		$tmp65 165 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:79
#     Value = atan(Value1);
	atan		Value Value1 	%line{79} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:80
#   else if (math_type == "arctan2")
	eq		$tmp66 math_type $const45 	%line{80} %argrw{"wrr"}
	if		$tmp66 168 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:81
#     Value = atan2(Value1, Value2);
	atan2		Value Value1 Value2 	%line{81} %argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:82
#   else if (math_type == "sign")
	eq		$tmp67 math_type $const46 	%line{82} %argrw{"wrr"}
	if		$tmp67 171 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:83
#     Value = sign(Value1);
	sign		Value Value1 	%line{83} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:84
#   else if (math_type == "exponent")
	eq		$tmp68 math_type $const47 	%line{84} %argrw{"wrr"}
	if		$tmp68 174 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:85
#     Value = exp(Value1);
	exp		Value Value1 	%line{85} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:86
#   else if (math_type == "compare")
	eq		$tmp69 math_type $const48 	%line{86} %argrw{"wrr"}
	if		$tmp69 188 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:87
#     Value = ((Value1 == Value2) || (abs(Value1 - Value2) <= max(Value3, 1e-5))) ? 1.0 : 0.0;
	eq		$tmp70 Value1 Value2 	%line{87} %argrw{"wrr"}
	neq		$tmp71 $tmp70 $const10 	%argrw{"wrr"}
	if		$tmp71 179 185 	%argrw{"r"}
	sub		$tmp73 Value1 Value2 	%argrw{"wrr"}
	abs		$tmp72 $tmp73 	%argrw{"wr"}
	max		$tmp74 Value3 $const49 	%argrw{"wrr"}
	le		$tmp75 $tmp72 $tmp74 	%argrw{"wrr"}
	neq		$tmp76 $tmp75 $const10 	%argrw{"wrr"}
	assign		$tmp71 $tmp76 	%argrw{"wr"}
	if		$tmp71 187 188 	%argrw{"r"}
	assign		Value $const50 	%argrw{"wr"}
	assign		Value $const6 	%argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:88
#   else if (math_type == "multiply_add")
	eq		$tmp77 math_type $const51 	%line{88} %argrw{"wrr"}
	if		$tmp77 192 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:89
#     Value = Value1 * Value2 + Value3;
	mul		$tmp78 Value1 Value2 	%line{89} %argrw{"wrr"}
	add		Value $tmp78 Value3 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:90
#   else if (math_type == "smoothmin")
	eq		$tmp79 math_type $const52 	%line{90} %argrw{"wrr"}
	if		$tmp79 212 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:91
#     Value = smoothmin(Value1, Value2, Value3);
	functioncall	$const52 212 	%line{91} %argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:29
#   if (c != 0.0) {
	neq		$tmp80 Value3 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{29} %argrw{"wrr"}
	if		$tmp80 210 212 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:30
#     float h = max(c - abs(a - b), 0.0) / c;
	sub		$tmp83 Value1 Value2 	%line{30} %argrw{"wrr"}
	abs		$tmp82 $tmp83 	%argrw{"wr"}
	sub		$tmp84 Value3 $tmp82 	%argrw{"wrr"}
	max		$tmp81 $tmp84 $const6 	%argrw{"wrr"}
	div		___335_h $tmp81 Value3 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:31
#     return min(a, b) - h * h * h * c * (1.0 / 6.0);
	min		$tmp85 Value1 Value2 	%line{31} %argrw{"wrr"}
	mul		$tmp86 ___335_h ___335_h 	%argrw{"wrr"}
	mul		$tmp87 $tmp86 ___335_h 	%argrw{"wrr"}
	mul		$tmp88 $tmp87 Value3 	%argrw{"wrr"}
	div		$tmp89 $const50 $const53 	%argrw{"wrr"}
	mul		$tmp90 $tmp88 $tmp89 	%argrw{"wrr"}
	sub		Value $tmp85 $tmp90 	%argrw{"wrr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:34
#     return min(a, b);
	min		Value Value1 Value2 	%line{34} %argrw{"wrr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:92
#   else if (math_type == "smoothmax")
	eq		$tmp91 math_type $const54 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{92} %argrw{"wrr"}
	if		$tmp91 235 236 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:93
#     Value = -(smoothmin(-Value1, -Value2, Value3));
	neg		$tmp93 Value1 	%line{93} %argrw{"wr"}
	neg		$tmp94 Value2 	%argrw{"wr"}
	functioncall	$const52 234 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:29
#   if (c != 0.0) {
	neq		$tmp95 Value3 $const6 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h"} %line{29} %argrw{"wrr"}
	if		$tmp95 232 234 	%argrw{"r"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:30
#     float h = max(c - abs(a - b), 0.0) / c;
	sub		$tmp98 $tmp93 $tmp94 	%line{30} %argrw{"wrr"}
	abs		$tmp97 $tmp98 	%argrw{"wr"}
	sub		$tmp99 Value3 $tmp97 	%argrw{"wrr"}
	max		$tmp96 $tmp99 $const6 	%argrw{"wrr"}
	div		___335_h $tmp96 Value3 	%argrw{"wrr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:31
#     return min(a, b) - h * h * h * c * (1.0 / 6.0);
	min		$tmp100 $tmp93 $tmp94 	%line{31} %argrw{"wrr"}
	mul		$tmp101 ___335_h ___335_h 	%argrw{"wrr"}
	mul		$tmp102 $tmp101 ___335_h 	%argrw{"wrr"}
	mul		$tmp103 $tmp102 Value3 	%argrw{"wrr"}
	div		$tmp104 $const50 $const53 	%argrw{"wrr"}
	mul		$tmp105 $tmp103 $tmp104 	%argrw{"wrr"}
	sub		$tmp92 $tmp100 $tmp105 	%argrw{"wrr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.h:34
#     return min(a, b);
	min		$tmp92 $tmp93 $tmp94 	%line{34} %argrw{"wrr"}
	return
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:93
#     Value = -(smoothmin(-Value1, -Value2, Value3));
	neg		Value $tmp92 	%filename{"/build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl"} %line{93} %argrw{"wr"}
# /build/blender/src/blender/intern/cycles/kernel/osl/shaders/node_math.osl:95
#     warning("%s", "Unknown math operator!");
	warning		$const55 $const56 	%line{95} %argrw{"rr"}
	end
