text: /**
   * Calculate fibonacci number at specific position using closed form function (Binet's formula).
   * @see: https://en.wikipedia.org/wiki/Fibonacci_number#Closed-form_expression
   *
   * parameter:  {number} position - Position number of fibonacci sequence (must be number from 1 to 75).
   * @return {number}
   */
  export default function fibonacciClosedForm( position ) {
    const topMaxValidPosition = 70;
  
    // Check that position is valid.
    if ( position < 1 || position > topMaxValidPosition ) {
      throw new Error( `Can't handle position smaller than 1 or greater than ${topMaxValidPosition}` );
    }
  
    // Calculate √5 to re-use it in further formulas.
    const sqrt5 = Math.sqrt( 5 );
    // Calculate φ constant (≈ 1.61803).
    const phi = ( 1 + sqrt5 ) / 2;
  
    // Calculate fibonacci number using Binet's formula.
    return Math.floor( ( phi ** position ) / sqrt5 + 0.5 );
  }
  