OpenShadingLanguage 1.00
# Compiled by oslc 1.3.2
shader node_math
param	string	type	"Add" 		 %read{0,71} %write{2147483647,-1}
param	int	Clamp	0 		 %read{79,79} %write{2147483647,-1}
param	float	Value1	0 		 %read{2,81} %write{2147483647,-1}
param	float	Value2	0 		 %read{2,77} %write{2147483647,-1}
oparam	float	Value	0 		 %read{2147483647,-1} %write{2,82}
local	float	___614_result	 %read{16,16} %write{14,15}
local	float	___615_result	 %read{78,78} %write{76,77}
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,11} %write{2147483647,-1}
const	float	$const6	0		 %read{12,82} %write{2147483647,-1}
temp	int	$tmp5	 %read{13,13} %write{12,12}
const	string	$const7	"Sine"		 %read{17,17} %write{2147483647,-1}
temp	int	$tmp6	 %read{18,18} %write{17,17}
const	string	$const8	"Cosine"		 %read{20,20} %write{2147483647,-1}
temp	int	$tmp7	 %read{21,21} %write{20,20}
const	string	$const9	"Tangent"		 %read{23,23} %write{2147483647,-1}
temp	int	$tmp8	 %read{24,24} %write{23,23}
const	string	$const10	"Arcsine"		 %read{26,26} %write{2147483647,-1}
temp	int	$tmp9	 %read{27,27} %write{26,26}
const	string	$const11	"Arccosine"		 %read{29,29} %write{2147483647,-1}
temp	int	$tmp10	 %read{30,30} %write{29,29}
const	string	$const12	"Arctangent"		 %read{32,32} %write{2147483647,-1}
temp	int	$tmp11	 %read{33,33} %write{32,32}
const	string	$const13	"Power"		 %read{35,35} %write{2147483647,-1}
temp	int	$tmp12	 %read{36,36} %write{35,35}
const	string	$const14	"Logarithm"		 %read{38,38} %write{2147483647,-1}
temp	int	$tmp13	 %read{39,39} %write{38,38}
const	string	$const15	"safe_log"		 %read{40,40} %write{2147483647,-1}
temp	int	$tmp14	 %read{42,42} %write{41,41}
temp	int	$tmp15	 %read{43,47} %write{42,46}
const	int	$const16	0		 %read{42,45} %write{2147483647,-1}
temp	int	$tmp16	 %read{45,45} %write{44,44}
temp	int	$tmp17	 %read{46,46} %write{45,45}
temp	float	$tmp18	 %read{52,52} %write{50,50}
temp	float	$tmp19	 %read{52,52} %write{51,51}
const	string	$const17	"Minimum"		 %read{53,53} %write{2147483647,-1}
temp	int	$tmp20	 %read{54,54} %write{53,53}
const	string	$const18	"Maximum"		 %read{56,56} %write{2147483647,-1}
temp	int	$tmp21	 %read{57,57} %write{56,56}
const	string	$const19	"Round"		 %read{59,59} %write{2147483647,-1}
temp	int	$tmp22	 %read{60,60} %write{59,59}
const	float	$const20	0.5		 %read{61,61} %write{2147483647,-1}
temp	float	$tmp23	 %read{62,62} %write{61,61}
const	string	$const21	"Less Than"		 %read{63,63} %write{2147483647,-1}
temp	int	$tmp24	 %read{64,64} %write{63,63}
temp	int	$tmp25	 %read{66,66} %write{65,65}
const	string	$const22	"Greater Than"		 %read{67,67} %write{2147483647,-1}
temp	int	$tmp26	 %read{68,68} %write{67,67}
temp	int	$tmp27	 %read{70,70} %write{69,69}
const	string	$const23	"Modulo"		 %read{71,71} %write{2147483647,-1}
temp	int	$tmp28	 %read{72,72} %write{71,71}
const	string	$const24	"safe_modulo"		 %read{73,73} %write{2147483647,-1}
temp	int	$tmp29	 %read{75,75} %write{74,74}
const	float	$const25	1		 %read{81,81} %write{2147483647,-1}
const	string	$const26	"clamp"		 %read{80,80} %write{2147483647,-1}
temp	float	$tmp30	 %read{82,82} %write{81,81}
code ___main___
# intern/cycles/kernel/shaders/node_math.osl:60
# 	if (type == "Add")
	eq		$tmp1 type $const1 	%filename{"intern/cycles/kernel/shaders/node_math.osl"} %line{60} %argrw{"wrr"}
	if		$tmp1 3 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:61
# 		Value = Value1 + Value2;
	add		Value Value1 Value2 	%line{61} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:62
# 	else if (type == "Subtract")
	eq		$tmp2 type $const2 	%line{62} %argrw{"wrr"}
	if		$tmp2 6 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:63
# 		Value = Value1 - Value2;
	sub		Value Value1 Value2 	%line{63} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:64
# 	else if (type == "Multiply")
	eq		$tmp3 type $const3 	%line{64} %argrw{"wrr"}
	if		$tmp3 9 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:65
# 		Value = Value1 * Value2;
	mul		Value Value1 Value2 	%line{65} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:66
# 	else if (type == "Divide")
	eq		$tmp4 type $const4 	%line{66} %argrw{"wrr"}
	if		$tmp4 17 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:67
# 		Value = safe_divide(Value1, Value2);
	functioncall	$const5 17 	%line{67} %argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:23
# 	if (b == 0.0)
	eq		$tmp5 Value2 $const6 	%line{23} %argrw{"wrr"}
	if		$tmp5 15 16 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:24
# 		result = 0.0;
	assign		___614_result $const6 	%line{24} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:26
# 		result = a / b;
	div		___614_result Value1 Value2 	%line{26} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:28
# 	return result;
	assign		Value ___614_result 	%line{28} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:68
# 	else if (type == "Sine")
	eq		$tmp6 type $const7 	%line{68} %argrw{"wrr"}
	if		$tmp6 20 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:69
# 		Value = sin(Value1);
	sin		Value Value1 	%line{69} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:70
# 	else if (type == "Cosine")
	eq		$tmp7 type $const8 	%line{70} %argrw{"wrr"}
	if		$tmp7 23 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:71
# 		Value = cos(Value1);
	cos		Value Value1 	%line{71} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:72
# 	else if (type == "Tangent")
	eq		$tmp8 type $const9 	%line{72} %argrw{"wrr"}
	if		$tmp8 26 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:73
# 		Value = tan(Value1);
	tan		Value Value1 	%line{73} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:74
# 	else if (type == "Arcsine")
	eq		$tmp9 type $const10 	%line{74} %argrw{"wrr"}
	if		$tmp9 29 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:75
# 		Value = asin(Value1);
	asin		Value Value1 	%line{75} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:76
# 	else if (type == "Arccosine")
	eq		$tmp10 type $const11 	%line{76} %argrw{"wrr"}
	if		$tmp10 32 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:77
# 		Value = acos(Value1);
	acos		Value Value1 	%line{77} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:78
# 	else if (type == "Arctangent")
	eq		$tmp11 type $const12 	%line{78} %argrw{"wrr"}
	if		$tmp11 35 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:79
# 		Value = atan(Value1);
	atan		Value Value1 	%line{79} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:80
# 	else if (type == "Power")
	eq		$tmp12 type $const13 	%line{80} %argrw{"wrr"}
	if		$tmp12 38 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:81
# 		Value = pow(Value1, Value2);
	pow		Value Value1 Value2 	%line{81} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:82
# 	else if (type == "Logarithm")
	eq		$tmp13 type $const14 	%line{82} %argrw{"wrr"}
	if		$tmp13 53 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:83
# 		Value = safe_log(Value1, Value2);
	functioncall	$const15 53 	%line{83} %argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:45
# 	if (a < 0.0 || b < 0.0)
	lt		$tmp14 Value1 $const6 	%line{45} %argrw{"wrr"}
	neq		$tmp15 $tmp14 $const16 	%argrw{"wrr"}
	if		$tmp15 44 47 	%argrw{"r"}
	lt		$tmp16 Value2 $const6 	%argrw{"wrr"}
	neq		$tmp17 $tmp16 $const16 	%argrw{"wrr"}
	assign		$tmp15 $tmp17 	%argrw{"wr"}
	if		$tmp15 50 50 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:46
# 		return 0.0;
	assign		Value $const6 	%line{46} %argrw{"wr"}
	return
# intern/cycles/kernel/shaders/node_math.osl:48
# 	return log(a) / log(b);
	log		$tmp18 Value1 	%line{48} %argrw{"wr"}
	log		$tmp19 Value2 	%argrw{"wr"}
	div		Value $tmp18 $tmp19 	%argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:84
# 	else if (type == "Minimum")
	eq		$tmp20 type $const17 	%line{84} %argrw{"wrr"}
	if		$tmp20 56 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:85
# 		Value = min(Value1, Value2);
	min		Value Value1 Value2 	%line{85} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:86
# 	else if (type == "Maximum")
	eq		$tmp21 type $const18 	%line{86} %argrw{"wrr"}
	if		$tmp21 59 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:87
# 		Value = max(Value1, Value2);
	max		Value Value1 Value2 	%line{87} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:88
# 	else if (type == "Round")
	eq		$tmp22 type $const19 	%line{88} %argrw{"wrr"}
	if		$tmp22 63 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:89
# 		Value = floor(Value1 + 0.5);
	add		$tmp23 Value1 $const20 	%line{89} %argrw{"wrr"}
	floor		Value $tmp23 	%argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:90
# 	else if (type == "Less Than")
	eq		$tmp24 type $const21 	%line{90} %argrw{"wrr"}
	if		$tmp24 67 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:91
# 		Value = Value1 < Value2;
	lt		$tmp25 Value1 Value2 	%line{91} %argrw{"wrr"}
	assign		Value $tmp25 	%argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:92
# 	else if (type == "Greater Than")
	eq		$tmp26 type $const22 	%line{92} %argrw{"wrr"}
	if		$tmp26 71 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:93
# 		Value = Value1 > Value2;
	gt		$tmp27 Value1 Value2 	%line{93} %argrw{"wrr"}
	assign		Value $tmp27 	%argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:94
# 	else if (type == "Modulo")
	eq		$tmp28 type $const23 	%line{94} %argrw{"wrr"}
	if		$tmp28 79 79 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:95
# 		Value = safe_modulo(Value1, Value2);
	functioncall	$const24 79 	%line{95} %argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:35
# 	if (b == 0.0)
	eq		$tmp29 Value2 $const6 	%line{35} %argrw{"wrr"}
	if		$tmp29 77 78 	%argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:36
# 		result = 0.0;
	assign		___615_result $const6 	%line{36} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:38
# 		result = fmod(a, b);
	fmod		___615_result Value1 Value2 	%line{38} %argrw{"wrr"}
# intern/cycles/kernel/shaders/node_math.osl:40
# 	return result;
	assign		Value ___615_result 	%line{40} %argrw{"wr"}
# intern/cycles/kernel/shaders/node_math.osl:97
# 	if (Clamp)
	if		Clamp 83 83 	%line{97} %argrw{"r"}
# intern/cycles/kernel/shaders/node_math.osl:98
# 		Value = clamp(Value1, 0.0, 1.0);
	functioncall	$const26 83 	%line{98} %argrw{"r"}
# intern/cycles/kernel/shaders/stdosl.h:144
# #define M_SQRT2    1.4142135623730950        /* sqrt(2) */
	min		$tmp30 Value1 $const25 	%filename{"intern/cycles/kernel/shaders/stdosl.h"} %line{144} %argrw{"wrr"}
	max		Value $tmp30 $const6 	%argrw{"wrr"}
	end
