anchor.diff:  #   |---------------------------------------------+------------------------|
   #   | -b 32                                       | -b 64                  |
   #   | -A 18  (Pentium II)                         | -A 31 (Athlon K7)      |
  -#   | -V 1 (No SIMD: Pentium II doesn't have SSE) | -V 192 (SSE1 and SSE2) |
  +#   | -V 1 (No SIMD: Pentium II doesn't have SSE) | -V 384 (SSE1 and SSE2) |
   #
   # Users who want to compile a highly optimized version of ATLAS that's suitable
   # for their local machine can override these settings accordingly.
  +#
  +# The -V flags can change with each release as new instruction sets are added
  +# because upstream thinks it's a good idea to add entries at the start of an
  +# enum, rather than the end. If the build suddenly fails with messages about
  +# missing instruction sets, you may need to poke around in the source a bit.
   
   let
  -  version = "3.10.1";
  +  version = "3.10.2";
   
     optionalString = stdenv.lib.optionalString;
     optional = stdenv.lib.optional;
  
positive.code: 
    src = fetchurl {
      url = "mirror://sourceforge/math-atlas/atlas${version}.tar.bz2";
      sha256 = "11ncgdc7kzb2y2gqb3sgarm5saj9fr07r3h2yh2h5bja429b85d2";
    };
  
    buildInputs = [ gfortran ];
  
negative.code: { stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false
  , cpuConfig ? if stdenv.isi686 then "-b 32 -A 18 -V 1" else "-b 64 -A 31 -V 384"
  }:
  
  # Atlas detects the CPU and optimizes its build accordingly. This is great when
  