public double[] func_4111_a(double[] var1, double var2, double var4, int var6, int var7, double var8, double var10, double var12, double var14) {
      var8 /= 1.5D;
      var10 /= 1.5D;
      if(var1 != null && var1.length >= var6 * var7) {
         for(int var16 = 0; var16 < var1.length; ++var16) {
            var1[var16] = 0.0D;
         }
      } else {
         var1 = new double[var6 * var7];
      }

      double var21 = 1.0D;
      double var18 = 1.0D;

      for(int var20 = 0; var20 < this.field_4233_b; ++var20) {
         this.field_4234_a[var20].func_4157_a(var1, var2, var4, var6, var7, var8 * var18, var10 * var18, 0.55D / var21);
         var18 *= var12;
         var21 *= var14;
      }

      return var1;
   }