code: function fromLuv (vec, result) {
  	result = result || [];
  
  	var L = vec[0];
  	var u = vec[1];
  	var v = vec[2];
  
  	if (L === 0) {
  		result[0] = result[1] = result[2] = 0;
  		return result;
  	}
  
  	var Y;
  
  	if (L <= LUV_ke) {
  		Y = L / LUV_k;
  	} else {
  		Y = Math.pow((L + 16) / 116, 3);
  	}
  	Y *= D65[1];
  	var a = oneThird * (52 * L / (u + 13 * L * D65u) - 1);
  	var b = -5*Y;
  	var c = oneThird;
  	var d = Y * (39* L / (v + 13 * L * D65v) - 5);
  
  	result[1] = Y;
  	var X = result[0] = (d - b) / (a - c);
  	result[2] = X * a + b;
  
  	return result;
  }
docs: /*
  function fromLuv (vec, result) {
  result = result || [];
  
  var L = vec[0];
  var u = vec[1];
  var v = vec[2];
  
  if (L === 0) {
  result[0] = result[1] = result[2] = 0;
  return result;
  }
  
  var Y = D65[1] / 100 * Math.pow((L + 16) / 116, 3);
  
  var a = u / (13 * L) + D65u;
  var b = v / (13 * L) + D65v;
  var c = 3 * Y * (5 * b - 3);
  
  result[1] = Y;
  var Z = result[2] = ((a - 4) * c - 15 * a * b * Y) / (12 * b);
  result[0] = -(c / b + 3 * Z);
  
  return result;
  }