docs: long calculateFirstDayOfYearMillis(int year) {
          if (year > MAX_YEAR) {
              throw new ArithmeticException("Year is too large: " + year + " > " + MAX_YEAR);
          }
          if (year < MIN_YEAR) {
              throw new ArithmeticException("Year is too small: " + year + " < " + MIN_YEAR);
          }
  
          // Java epoch is 1970-01-01 Gregorian which is 0622-07-16 Islamic.
          // 0001-01-01 Islamic is -42520809600000L
          // would prefer to calculate against year zero, but leap year
          // can be in that year so it doesn't work
          year--;
          long cycle = year / CYCLE;
          long millis = MILLIS_YEAR_1 + cycle * MILLIS_PER_CYCLE;
          int cycleRemainder = (year % CYCLE) + 1;
          
          for (int i = 1; i < cycleRemainder; i++) {
              millis += (isLeapYear(i) ? MILLIS_PER_LONG_YEAR : MILLIS_PER_SHORT_YEAR);
          }
          
          return millis;
      }