Compiling again for P17, with 0.18.0 and 0.17.2, the error messages point to 
`gcd` function in both cases:
    
    
    # 0.18.0 error message
    
    generating parameters for P17
    stack trace: (most recent call last)
    twinprimes_ssozp17par5d3.nim(87)
    twinprimes_ssozp17par5d3.nim(65) genPGparameters
    lib/pure/math.nim(452)   gcd
    lib/pure/math.nim(452, 15) Error: interpretation requires too many iteratio
    
    
    
    # 0.17.2 error message
    
    generating parameters for P17
    stack trace: (most recent call last)
    twinprimes_ssozp17par5d3.nim(87)
    twinprimes_ssozp17par5d3.nim(65) genPGparameters
    lib/pure/math.nim(439)   gcd
    lib/pure/math.nim(439, 15) Error: interpretation requires too many 
iterations
    

In both cases it points to the same line in `lib/pure/math.nim` (line 452 in 
0.18.0 or 439 in 0.17.2):
    
    
    proc gcd*[T](x, y: T): T =
      ## Computes the greatest common divisor of ``x`` and ``y``.
      ## Note that for floats, the result cannot always be interpreted as
      ## "greatest decimal `z` such that ``z*N == x and z*M == y``
      ## where N and M are positive integers."
      var (x,y) = (x,y)    # <---------------- this line is pointed to in both 
cases
      while y != 0:
        x = x mod y
        swap x, y
      abs x
    

Changing `var (x,y) = (x,y)` to `var x = x; var y = y` or changing variable 
names, in both cases, creates same results.

**Why does this line cause this compiler iteration problem?**

Reply via email to