```ts
/** Checks if a value must be a finite number */
function isValidFiniteNumber(value: any): boolean {
  return typeof value === "number" && !isNaN(value);
}

export function celsiusToFahrenheit(celsius: number): number {
  isValidFiniteNumber(celsius) || throw new Error("celsius must be a finite number");
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
  return celsius * 1.8 + 32;
}

export function celsiusToKelvin(celsius: number): number {
  isValidFiniteNumber(celsius) || throw new Error("celsius must be a finite number");
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
  return celsius + 273.15;
}
```