def secret_expand(secret)
      raise "Bad size of private key" unless secret.length.equal? 32

      h = hash512(secret)
      a = int_form_bytes(h[0,32])
      a &= (1 << 254) - 8
      a |= (1 << 254)
      return [a, h[32,32]]
    end
def secret_expand(secret)
      raise "Bad size of private key" unless secret.length.equal? 32

      h = hash512(secret)
      a = int_form_bytes(h[0,32])
      a &= (1 << 254) - 8
      a |= (1 << 254)
      return [a, h[32,32]]
    end
region key manipulation 
 hash512(secret)
 => HASH(512bit)
 => [LH(256bit)] / [RH(256bit)]
 => LH -> (set some bits) -> a
 return ( a , RH )