def g11_alt(k, E, sig, band, gap):
    """
    Variation of :func: `g11 <arpys.2dfit.g11>` which takes precalculated 
    values of `sig`, `band` and `gap`.

    *Parameters*
    ====  ======================================================================
    k     array of length 2; k vector (in-plane) at which to evaluate g11
    E     float; energy at which to evaluate g11
    sig   complex; value of the complex self-energy at E
    band  float; value of the bare band at this k
    gap   float; value of the gap at this k
    ====  ======================================================================
    """
    re_sig = sig.real
    e_diff = E - sig
    nominator = e_diff + band
    denominator = e_diff ** 2 - band ** 2 - gap * (1 - re_sig / E)
    return nominator / denominator
