# Use
#    @warnpcfail precompile(args...)
# if you want to be warned when a precompile directive fails
macro warnpcfail(ex::Expr)
    modl = __module__
    file = __source__.file === nothing ? "?" : String(__source__.file)
    line = __source__.line
    quote
        $(esc(ex)) || @warn """precompile directive
     $($(Expr(:quote, ex)))
 failed. Please report an issue in $($modl) (after checking for duplicates) or remove this directive.""" _file=$file _line=$line
    end
end


function _precompile_()
    ccall(:jl_generating_output, Cint, ()) == 1 || return nothing
    Base.precompile(Tuple{Type{BosonDestroy},Symbol,Symbol,Vararg{Union{Int64, Symbol}, N} where N})
    Base.precompile(Tuple{Type{Corr},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{Type{Corr},OpSum})
    Base.precompile(Tuple{Type{Corr},scal{Int64}})
    Base.precompile(Tuple{Type{ExpVal},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{ExpVal},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{ExpVal},OpProd})
    Base.precompile(Tuple{Type{ExpVal},OpSumAnalytic})
    Base.precompile(Tuple{Type{ExpVal},OpSum})
    Base.precompile(Tuple{Type{ExpVal},scal{Int64}})
    Base.precompile(Tuple{Type{ExpVal},σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{ExpVal},σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{ExpVal},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{OpProdIter{false}},OpProd})
    Base.precompile(Tuple{Type{OpProdIter{true}},OpProd})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,Corr})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,OpProd})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,OpSumAnalytic})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,scal{Int64}})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,δ})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{OpSumAnalytic},Symbol,σ{Tuple{Symbol}}})
    Base.precompile(Tuple{Type{param},Symbol,Char,Int64,Vararg{Union{Int64, Symbol}, N} where N})
    Base.precompile(Tuple{Type{param},Symbol,Char,Symbol,Vararg{Union{Int64, Symbol}, N} where N})
    Base.precompile(Tuple{Type{param},Symbol,Char,Tuple{Int64, Symbol}})
    Base.precompile(Tuple{Type{param},Symbol,Char,Tuple{Symbol, Int64, Symbol}})
    Base.precompile(Tuple{Type{param},Symbol,Char,Tuple{Symbol, Symbol, Int64}})
    Base.precompile(Tuple{Type{param},Symbol,Int64})
    Base.precompile(Tuple{Type{param},Symbol,Symbol,Vararg{Union{Int64, Symbol}, N} where N})
    Base.precompile(Tuple{Type{param},Symbol,Symbol})
    Base.precompile(Tuple{Type{param},Symbol,Tuple{}})
    Base.precompile(Tuple{Type{param},Symbol})
    Base.precompile(Tuple{Type{scal},Complex{Rational{Int64}}})
    Base.precompile(Tuple{Type{δ},Int64,Symbol})
    Base.precompile(Tuple{Type{σ},SpatialIndex,Symbol,Vararg{Symbol, N} where N})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64, Symbol}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},Corr})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},ExpVal})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},δ})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Int64}},σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol, Symbol}},BosonDestroy{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},BosonCreate{Tuple{Int64, Int64, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},Corr})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},ExpVal})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},scal{Float64}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{Symbol}},δ})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{}},BosonDestroy{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonCreate{Tuple{}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64, Int64, Symbol}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64, Symbol}},σminus{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64, Symbol}},σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64, Symbol}},σ{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64, Symbol}},σ{Tuple{}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},Corr})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},ExpVal})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},OpSum})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Int64}},δ})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},BosonCreate{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},BosonDestroy{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},δ})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol, Symbol}},σ{Tuple{}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},Corr})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},ExpVal})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},scal{Float64}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{Symbol}},δ})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{}},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{}},Int64})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{}},OpProd})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),BosonDestroy{Tuple{}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),Corr,OpProd})
    Base.precompile(Tuple{typeof(*),Corr,scal{Int64}})
    Base.precompile(Tuple{typeof(*),ExpVal,BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),ExpVal,Corr})
    Base.precompile(Tuple{typeof(*),ExpVal,ExpVal})
    Base.precompile(Tuple{typeof(*),ExpVal,OpProd})
    Base.precompile(Tuple{typeof(*),ExpVal,scal{Int64}})
    Base.precompile(Tuple{typeof(*),ExpVal,σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),ExpVal,σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),FermionCreate{Tuple{Symbol}},FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),FermionCreate{Tuple{}},FermionDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(*),FermionDestroy{Tuple{Symbol}},FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),FermionDestroy{Tuple{Symbol}},FermionDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),Float64,δ})
    Base.precompile(Tuple{typeof(*),Int64,BosonDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(*),OpProd,BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpProd,BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpProd,BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,Corr})
    Base.precompile(Tuple{typeof(*),OpProd,OpProd})
    Base.precompile(Tuple{typeof(*),OpProd,OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),OpProd,OpSum})
    Base.precompile(Tuple{typeof(*),OpProd,param{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpProd,param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),OpProd,scal{Float64}})
    Base.precompile(Tuple{typeof(*),OpProd,scal{Int64}})
    Base.precompile(Tuple{typeof(*),OpProd,δ})
    Base.precompile(Tuple{typeof(*),OpProd,σminus{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpProd,σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,σ{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(*),OpProd,σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpProd,σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSum,BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpSum,BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSum,BosonDestroy{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSum,BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSum,Corr})
    Base.precompile(Tuple{typeof(*),OpSum,ExpVal})
    Base.precompile(Tuple{typeof(*),OpSum,OpProd})
    Base.precompile(Tuple{typeof(*),OpSum,OpSum})
    Base.precompile(Tuple{typeof(*),OpSum,scal{Int64}})
    Base.precompile(Tuple{typeof(*),OpSum,σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpSum,σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSum,σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSum,σminus{Tuple{}}})
    Base.precompile(Tuple{typeof(*),OpSum,σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpSum,σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),OpSum,σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSumAnalytic,BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSumAnalytic,BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSumAnalytic,OpProd})
    Base.precompile(Tuple{typeof(*),OpSumAnalytic,OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),OpSumAnalytic,param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),OpSumAnalytic,scal{Int64}})
    Base.precompile(Tuple{typeof(*),OpSumAnalytic,σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64, Symbol}},param{Tuple{}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64}},ExpVal})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64}},param{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64}},param{Tuple{}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64}},σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Int64}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},ExpVal})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},δ})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol, Symbol}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},ExpVal})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},δ})
    Base.precompile(Tuple{typeof(*),param{Tuple{Symbol}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{}},Corr})
    Base.precompile(Tuple{typeof(*),param{Tuple{}},ExpVal})
    Base.precompile(Tuple{typeof(*),param{Tuple{}},OpProd})
    Base.precompile(Tuple{typeof(*),param{Tuple{}},param{Tuple{}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),param{Tuple{}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},OpProd})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σ{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Int64}},σ{Tuple{}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},OpProd})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},param{Tuple{}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Complex{Rational{Int64}}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Float64},OpProd})
    Base.precompile(Tuple{typeof(*),scal{Float64},scal{Float64}})
    Base.precompile(Tuple{typeof(*),scal{Float64},scal{Int64}})
    Base.precompile(Tuple{typeof(*),scal{Float64},δ})
    Base.precompile(Tuple{typeof(*),scal{Int64},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Int64},ExpVal})
    Base.precompile(Tuple{typeof(*),scal{Int64},OpProd})
    Base.precompile(Tuple{typeof(*),scal{Int64},OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),scal{Int64},param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Int64},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Int64},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),scal{Int64},δ})
    Base.precompile(Tuple{typeof(*),scal{Int64},σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Int64},σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Int64},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),scal{Int64},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Rational{Int64}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),scal{Rational{Int64}},OpProd})
    Base.precompile(Tuple{typeof(*),scal{Rational{Int64}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),scal{Rational{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),scal{Rational{Int64}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),δ,BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),δ,BosonDestroy{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),δ,OpProd})
    Base.precompile(Tuple{typeof(*),δ,scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),δ,scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),δ,scal{Float64}})
    Base.precompile(Tuple{typeof(*),δ,scal{Int64}})
    Base.precompile(Tuple{typeof(*),δ,δ})
    Base.precompile(Tuple{typeof(*),δ,σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),δ,σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),δ,σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Int64, Symbol}},σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Int64}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Int64}},σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Int64}},σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol, Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol, Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol, Symbol}},σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol, Symbol}},σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol}},σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{Symbol}},σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{}},OpProd})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{}},σminus{Tuple{}}})
    Base.precompile(Tuple{typeof(*),σminus{Tuple{}},σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},Corr})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},ExpVal})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},OpSum})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Int64}},σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol, Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol, Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol, Symbol}},σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol, Symbol}},σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{Symbol}},σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{}},OpProd})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{}},σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),σplus{Tuple{}},σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64, Symbol}},σ{Tuple{}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},Corr})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},ExpVal})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},OpSum})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Int64}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol, Symbol}},σ{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},scal{Int64}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},δ})
    Base.precompile(Tuple{typeof(*),σ{Tuple{Symbol}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{}},σ{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(*),σ{Tuple{}},σ{Tuple{}}})
    Base.precompile(Tuple{typeof(+),BosonCreate{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(+),BosonCreate{Tuple{Symbol}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(+),BosonCreate{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(+),BosonCreate{Tuple{Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(+),BosonCreate{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(+),BosonDestroy{Tuple{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(+),BosonDestroy{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(+),BosonDestroy{Tuple{Int64}},OpSum})
    Base.precompile(Tuple{typeof(+),BosonDestroy{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(+),BosonDestroy{Tuple{Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(+),BosonDestroy{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(+),BosonDestroy{Tuple{}},Int64})
    Base.precompile(Tuple{typeof(+),Corr,OpProd})
    Base.precompile(Tuple{typeof(+),Corr,OpSum})
    Base.precompile(Tuple{typeof(+),Int64,BosonDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(+),OpProd,OpProd})
    Base.precompile(Tuple{typeof(+),OpProd,OpSumAnalytic})
    Base.precompile(Tuple{typeof(+),OpProd,OpSum})
    Base.precompile(Tuple{typeof(+),OpProd,scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(+),OpProd,scal{Int64}})
    Base.precompile(Tuple{typeof(+),OpProd,δ})
    Base.precompile(Tuple{typeof(+),OpProd,σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(+),OpSum,OpSum})
    Base.precompile(Tuple{typeof(+),OpSumAnalytic,BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(+),OpSumAnalytic,OpSumAnalytic})
    Base.precompile(Tuple{typeof(+),OpSumAnalytic,OpSum})
    Base.precompile(Tuple{typeof(+),OpSumAnalytic,scal{Int64}})
    Base.precompile(Tuple{typeof(+),scal{Complex{Int64}},OpProd})
    Base.precompile(Tuple{typeof(+),scal{Complex{Int64}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(+),scal{Complex{Int64}},OpSum})
    Base.precompile(Tuple{typeof(+),scal{Complex{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(+),scal{Complex{Rational{Int64}}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(+),scal{Complex{Rational{Int64}}},OpSum})
    Base.precompile(Tuple{typeof(+),scal{Complex{Rational{Int64}}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(+),scal{Complex{Rational{Int64}}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(+),scal{Complex{Rational{Int64}}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(+),scal{Float64},OpProd})
    Base.precompile(Tuple{typeof(+),scal{Float64},OpSum})
    Base.precompile(Tuple{typeof(+),scal{Float64},scal{Float64}})
    Base.precompile(Tuple{typeof(+),scal{Int64},Corr})
    Base.precompile(Tuple{typeof(+),scal{Int64},ExpVal})
    Base.precompile(Tuple{typeof(+),scal{Int64},OpSumAnalytic})
    Base.precompile(Tuple{typeof(+),scal{Int64},OpSum})
    Base.precompile(Tuple{typeof(+),scal{Int64},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(+),scal{Int64},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(+),scal{Int64},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(+),scal{Rational{Int64}},OpProd})
    Base.precompile(Tuple{typeof(+),scal{Rational{Int64}},OpSum})
    Base.precompile(Tuple{typeof(+),scal{Rational{Int64}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(+),σplus{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(+),σ{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(+),σ{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(-),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(-),BosonDestroy{Tuple{}},Int64})
    Base.precompile(Tuple{typeof(-),Corr,Corr})
    Base.precompile(Tuple{typeof(-),Int64,BosonDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(-),OpProd,OpSum})
    Base.precompile(Tuple{typeof(-),OpProd})
    Base.precompile(Tuple{typeof(-),OpSum,OpProd})
    Base.precompile(Tuple{typeof(-),OpSum,OpSum})
    Base.precompile(Tuple{typeof(-),OpSum,scal{Int64}})
    Base.precompile(Tuple{typeof(-),OpSumAnalytic,OpProd})
    Base.precompile(Tuple{typeof(-),OpSumAnalytic,OpSumAnalytic})
    Base.precompile(Tuple{typeof(-),OpSumAnalytic,OpSum})
    Base.precompile(Tuple{typeof(-),OpSumAnalytic})
    Base.precompile(Tuple{typeof(-),OpSum})
    Base.precompile(Tuple{typeof(-),param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(-),param{Tuple{Symbol}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(-),param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(-),scal{Int64},OpProd})
    Base.precompile(Tuple{typeof(-),scal{Int64},OpSum})
    Base.precompile(Tuple{typeof(-),scal{Int64}})
    Base.precompile(Tuple{typeof(-),δ,OpProd})
    Base.precompile(Tuple{typeof(-),δ})
    Base.precompile(Tuple{typeof(-),σminus{Tuple{Symbol, Symbol}},σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(-),σplus{Tuple{Symbol}},σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(==),ExpVal,ExpVal})
    Base.precompile(Tuple{typeof(==),param{Tuple{Int64, Symbol}},param{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Int64, Symbol}},param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Int64}},param{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Int64}},param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Symbol, Int64, Symbol}},param{Tuple{Symbol, Int64, Symbol}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Symbol, Symbol, Int64}},param{Tuple{Symbol, Symbol, Int64}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Symbol, Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Symbol, Symbol}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{Symbol}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{}},param{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{}},param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(==),param{Tuple{}},param{Tuple{}}})
    Base.precompile(Tuple{typeof(==),scal{Complex{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(==),scal{Complex{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(==),scal{Complex{Rational{Int64}}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(==),scal{Complex{Rational{Int64}}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(==),scal{Complex{Rational{Int64}}},scal{Int64}})
    Base.precompile(Tuple{typeof(==),scal{Complex{Rational{Int64}}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(==),scal{Float64},scal{Float64}})
    Base.precompile(Tuple{typeof(==),scal{Float64},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(==),scal{Int64},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(==),scal{Int64},scal{Float64}})
    Base.precompile(Tuple{typeof(==),scal{Int64},scal{Int64}})
    Base.precompile(Tuple{typeof(==),scal{Rational{Int64}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(Avac),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(Avac),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(Avac),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(Avac),FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(Avac),FermionDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(Avac),OpProd})
    Base.precompile(Tuple{typeof(Avac),OpSumAnalytic})
    Base.precompile(Tuple{typeof(Avac),OpSum})
    Base.precompile(Tuple{typeof(Avac),scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(Avac),scal{Float64}})
    Base.precompile(Tuple{typeof(Avac),scal{Int64}})
    Base.precompile(Tuple{typeof(Avac),scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(Avac),δ})
    Base.precompile(Tuple{typeof(Avac),σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(Avac),σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(Avac),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(Avac),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(Avac),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(Avac),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(CorrExpTup_isless),NTuple{4, Int64},Tuple{Int64, Int64}})
    Base.precompile(Tuple{typeof(CorrOrExp),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(CorrOrExp),OpProd})
    Base.precompile(Tuple{typeof(_sortedOpProd),Corr,Corr})
    Base.precompile(Tuple{typeof(_sortedOpProd),Corr})
    Base.precompile(Tuple{typeof(_sortedOpProd),ExpVal,Corr,Vararg{Corr, N} where N})
    Base.precompile(Tuple{typeof(_sortedOpProd),ExpVal,Corr})
    Base.precompile(Tuple{typeof(_sortedOpProd),ExpVal,ExpVal,Vararg{Operator, N} where N})
    Base.precompile(Tuple{typeof(_sortedOpProd),param{Tuple{}},Corr})
    Base.precompile(Tuple{typeof(_sortedOpProd),param{Tuple{}},ExpVal,Vararg{Operator, N} where N})
    Base.precompile(Tuple{typeof(_sortedOpProd),scal{Int64},Corr})
    Base.precompile(Tuple{typeof(_sortedOpProd),scal{Int64},ExpVal,Vararg{Operator, N} where N})
    Base.precompile(Tuple{typeof(_sortedOpSum),Vector{OpProd}})
    Base.precompile(Tuple{typeof(_sortedOpSum),Vector{Operator}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{param{Tuple{}}},Vector{BaseOperator},Tuple{Tuple{Int64, Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{param{Tuple{}}},Vector{BaseOperator},Tuple{Tuple{Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{param{Tuple{}}},Vector{BaseOperator},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}, param{Tuple{Int64}}},Vector{σplus{Tuple{Int64}}},Tuple{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}, param{Tuple{Int64}}},Vector{σ{Tuple{Int64}}},Tuple{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}, param{Tuple{}}},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64, Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}, param{Tuple{}}},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}, param{Tuple{}}},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64, Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{scal{Int64}},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},NTuple{4, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{NTuple{4, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64, Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64, Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64}, Tuple{Int64, Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BaseOperator},Tuple{Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},NTuple{4, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},NTuple{5, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{NTuple{4, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{NTuple{5, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64, Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, NTuple{4, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64, Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64, Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64, Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64}, Tuple{Int64}, Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy{Tuple{Int64}}},Tuple{Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy},Tuple{Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{BosonDestroy},Tuple{Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{σ{Tuple{Symbol}}},Tuple{Tuple{Int64, Int64}}})
    Base.precompile(Tuple{typeof(_sumterm),Tuple{},Vector{σ{Tuple{Symbol}}},Tuple{Tuple{Int64}, Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_vacExpVal),OpProd})
    Base.precompile(Tuple{typeof(_vacExpVal),OpSumAnalytic})
    Base.precompile(Tuple{typeof(_vacExpVal),OpSum})
    Base.precompile(Tuple{typeof(_vacExpVal),scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(_vacExpVal),scal{Float64}})
    Base.precompile(Tuple{typeof(_vacExpVal),scal{Int64}})
    Base.precompile(Tuple{typeof(_vacExpVal),scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(_vacExpVal),δ})
    Base.precompile(Tuple{typeof(_vacExpVal),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(_vacExpVal),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(adjoint),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),BosonDestroy{Tuple{Int64, Int64, Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(adjoint),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),BosonDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(adjoint),Corr})
    Base.precompile(Tuple{typeof(adjoint),ExpVal})
    Base.precompile(Tuple{typeof(adjoint),FermionCreate{Tuple{}}})
    Base.precompile(Tuple{typeof(adjoint),FermionDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(adjoint),OpProd})
    Base.precompile(Tuple{typeof(adjoint),OpSumAnalytic})
    Base.precompile(Tuple{typeof(adjoint),param{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(adjoint),param{Tuple{Symbol, Int64, Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),param{Tuple{}}})
    Base.precompile(Tuple{typeof(adjoint),scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(adjoint),scal{Float64}})
    Base.precompile(Tuple{typeof(adjoint),σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(adjoint),σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(adjoint),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(adjoint),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(adjoint),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(ascorr),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(ascorr),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(ascorr),Corr})
    Base.precompile(Tuple{typeof(ascorr),OpProd})
    Base.precompile(Tuple{typeof(ascorr),OpSumAnalytic})
    Base.precompile(Tuple{typeof(ascorr),OpSum})
    Base.precompile(Tuple{typeof(ascorr),scal{Int64}})
    Base.precompile(Tuple{typeof(basetype),Type})
    Base.precompile(Tuple{typeof(basetype),σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Int64}},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Symbol}},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Symbol}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(comm),BosonCreate{Tuple{Symbol}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Int64}},OpSum})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Symbol}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(comm),BosonDestroy{Tuple{Symbol}},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),FermionCreate{Tuple{Symbol}},FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),FermionCreate{Tuple{}},FermionDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(comm),FermionDestroy{Tuple{Symbol}},FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),FermionDestroy{Tuple{Symbol}},FermionDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),OpProd,OpProd})
    Base.precompile(Tuple{typeof(comm),OpProd,OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),OpProd,OpSum})
    Base.precompile(Tuple{typeof(comm),OpProd,param{Tuple{}}})
    Base.precompile(Tuple{typeof(comm),OpSum,BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),OpSum,OpProd})
    Base.precompile(Tuple{typeof(comm),OpSum,OpSum})
    Base.precompile(Tuple{typeof(comm),OpSum,param{Tuple{}}})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,OpProd})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,OpSum})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(comm),OpSumAnalytic,σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),param{Tuple{Symbol, Symbol}},OpProd})
    Base.precompile(Tuple{typeof(comm),param{Tuple{Symbol, Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),param{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(comm),param{Tuple{Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),param{Tuple{}},OpProd})
    Base.precompile(Tuple{typeof(comm),param{Tuple{}},OpSum})
    Base.precompile(Tuple{typeof(comm),scal{Complex{Int64}},OpProd})
    Base.precompile(Tuple{typeof(comm),scal{Complex{Int64}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),scal{Complex{Rational{Int64}}},OpProd})
    Base.precompile(Tuple{typeof(comm),scal{Complex{Rational{Int64}}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),scal{Complex{Rational{Int64}}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),scal{Float64},OpProd})
    Base.precompile(Tuple{typeof(comm),scal{Float64},δ})
    Base.precompile(Tuple{typeof(comm),scal{Int64},OpProd})
    Base.precompile(Tuple{typeof(comm),scal{Int64},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),scal{Rational{Int64}},OpProd})
    Base.precompile(Tuple{typeof(comm),scal{Rational{Int64}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),scal{Rational{Int64}},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),δ,OpProd})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Int64, Symbol}},σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Int64}},OpSum})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Int64}},σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Int64}},σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Symbol, Symbol}},σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(comm),σminus{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(comm),σplus{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(comm),σplus{Tuple{Int64}},OpSum})
    Base.precompile(Tuple{typeof(comm),σplus{Tuple{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(comm),σplus{Tuple{Int64}},σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),σplus{Tuple{Int64}},σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(comm),σplus{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(comm),σplus{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Int64, Symbol}},σ{Tuple{}}})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Int64}},OpProd})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Int64}},param{Tuple{}}})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Int64}},scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Int64}},scal{Int64}})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Symbol}},OpProd})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Symbol}},OpSumAnalytic})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Symbol}},OpSum})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Symbol}},param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Symbol}},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Symbol}},scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(comm),σ{Tuple{Symbol}},scal{Rational{Int64}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},BosonCreate{Tuple{}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},BosonDestroy{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},Corr})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},ExpVal})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},OpProd})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},OpSum})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},σminus{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},σ{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(distribute_indices!),Vector{Symbol},σ{Tuple{}}})
    Base.precompile(Tuple{typeof(exchange_inds),OpProd,Symbol,Symbol})
    Base.precompile(Tuple{typeof(exptuple),BosonCreate{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(exptuple),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(exptuple),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(exptuple),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(exptuple),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(exptuple),ExpVal})
    Base.precompile(Tuple{typeof(exptuple),param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(exptuple),param{Tuple{}}})
    Base.precompile(Tuple{typeof(exptuple),scal{Int64}})
    Base.precompile(Tuple{typeof(exptuple),σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(exptuple),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(exptuple),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(exptuple),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(exptuple),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(extindices),OpSumAnalytic})
    Base.precompile(Tuple{typeof(indextuple),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(isapprox),OpProd,OpProd})
    Base.precompile(Tuple{typeof(isapprox),OpSum,OpSum})
    Base.precompile(Tuple{typeof(isapprox),scal{Float64},scal{Float64}})
    Base.precompile(Tuple{typeof(isapprox),scal{Float64},scal{Int64}})
    Base.precompile(Tuple{typeof(isapprox),δ,δ})
    Base.precompile(Tuple{typeof(isless),ExpVal,Corr})
    Base.precompile(Tuple{typeof(isless),ExpVal,ExpVal})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},ExpVal})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},FermionDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},σminus{Tuple{}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{false},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{true},BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{true},BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{true},Corr})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{true},ExpVal})
    Base.precompile(Tuple{typeof(iterate),OpProdIter{true},σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(iterlesseq),OpProdIter{false},OpProdIter{false}})
    Base.precompile(Tuple{typeof(latex),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(latex),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(latex),Corr})
    Base.precompile(Tuple{typeof(latex),ExpVal})
    Base.precompile(Tuple{typeof(latex),OpProd})
    Base.precompile(Tuple{typeof(latex),OpSumAnalytic})
    Base.precompile(Tuple{typeof(latex),OpSum})
    Base.precompile(Tuple{typeof(latex),param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(latex),param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(latex),scal{Complex{Int64}}})
    Base.precompile(Tuple{typeof(latex),scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(latex),scal{Float64}})
    Base.precompile(Tuple{typeof(latex),scal{Int64}})
    Base.precompile(Tuple{typeof(latex),δ})
    Base.precompile(Tuple{typeof(latex),σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(latex),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(latex),σ{Tuple{}}})
    Base.precompile(Tuple{typeof(length),BosonCreate{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(length),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(length),BosonCreate{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(length),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(length),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(length),BosonDestroy{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(length),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(length),Corr})
    Base.precompile(Tuple{typeof(length),ExpVal})
    Base.precompile(Tuple{typeof(length),FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(length),FermionDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(length),param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(length),param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(length),param{Tuple{}}})
    Base.precompile(Tuple{typeof(length),δ})
    Base.precompile(Tuple{typeof(length),σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(length),σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(length),σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(length),σminus{Tuple{}}})
    Base.precompile(Tuple{typeof(length),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(length),σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(length),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(length),σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(length),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(length),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(optuple),BosonCreate{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(optuple),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(optuple),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(optuple),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(optuple),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(optuple),ExpVal})
    Base.precompile(Tuple{typeof(optuple),param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(optuple),param{Tuple{}}})
    Base.precompile(Tuple{typeof(optuple),scal{Int64}})
    Base.precompile(Tuple{typeof(optuple),σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(optuple),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(optuple),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(optuple),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(optuple),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(parse_paramstr),String})
    Base.precompile(Tuple{typeof(preftuple),BosonCreate{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(preftuple),BosonCreate{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(preftuple),BosonDestroy{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),BosonDestroy{Tuple{}}})
    Base.precompile(Tuple{typeof(preftuple),ExpVal})
    Base.precompile(Tuple{typeof(preftuple),FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),FermionDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),param{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(preftuple),param{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),param{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),param{Tuple{}}})
    Base.precompile(Tuple{typeof(preftuple),scal{Int64}})
    Base.precompile(Tuple{typeof(preftuple),δ})
    Base.precompile(Tuple{typeof(preftuple),σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(preftuple),σminus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),σminus{Tuple{}}})
    Base.precompile(Tuple{typeof(preftuple),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(preftuple),σplus{Tuple{Symbol, Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(preftuple),σplus{Tuple{}}})
    Base.precompile(Tuple{typeof(preftuple),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(preftuple),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(print),IOBuffer,BosonCreate{Tuple{Int64, Symbol}}})
    Base.precompile(Tuple{typeof(print),IOBuffer,BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(print),IOBuffer,BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(print),IOBuffer,BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(print),IOBuffer,ExpVal})
    Base.precompile(Tuple{typeof(print),IOBuffer,OpProd})
    Base.precompile(Tuple{typeof(print),IOBuffer,OpSumAnalytic})
    Base.precompile(Tuple{typeof(print),IOBuffer,OpSum})
    Base.precompile(Tuple{typeof(print),IOBuffer,σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(print),IOBuffer,σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{ExpVal, ExpVal},Tuple{}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{param{Tuple{}}},Tuple{BosonCreate{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{scal{Int64}, param{Tuple{Int64}}},Tuple{σplus{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{scal{Int64}, param{Tuple{Int64}}},Tuple{σ{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{scal{Int64}, param{Tuple{}}},Tuple{BosonDestroy{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{scal{Int64}, param{Tuple{}}},Tuple{}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{scal{Int64}},Tuple{BosonDestroy{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{scal{Int64}},Tuple{BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},NTuple{4, BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},NTuple{5, BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{BosonCreate{Tuple{Int64, Symbol}}, BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{BosonCreate{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}, σ{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{BosonCreate{Tuple{Symbol}}, BosonCreate{Tuple{Symbol}}, BosonDestroy{Tuple{Symbol}}, σ{Tuple{Symbol}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{BosonCreate{Tuple{Symbol}}, BosonDestroy{Tuple{Symbol}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{BosonCreate{Tuple{Symbol}}, σ{Tuple{Symbol}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{BosonDestroy{Tuple{Int64}}, BosonDestroy{Tuple{Int64}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{BosonDestroy{Tuple{Int64}}, BosonDestroy{Tuple{Symbol}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{σplus{Tuple{Symbol}}, σminus{Tuple{Symbol}}}})
    Base.precompile(Tuple{typeof(prodcorr),Tuple{},Tuple{σ{Tuple{Symbol}}, σ{Tuple{Symbol}}}})
    Base.precompile(Tuple{typeof(prodtuple),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(prodtuple),OpProd})
    Base.precompile(Tuple{typeof(prodtuples),OpSum})
    Base.precompile(Tuple{typeof(replace_index),Corr,Symbol,Symbol})
    Base.precompile(Tuple{typeof(replace_index),ExpVal,Symbol,Symbol})
    Base.precompile(Tuple{typeof(replace_index),OpProd,Symbol,Int64})
    Base.precompile(Tuple{typeof(replace_index),OpProd,Symbol,Symbol})
    Base.precompile(Tuple{typeof(replace_index),OpSum,Symbol,Symbol})
    Base.precompile(Tuple{typeof(replace_index),OpSumAnalytic,Symbol,Symbol})
    Base.precompile(Tuple{typeof(replace_index),scal{Complex{Int64}},Symbol,Symbol})
    Base.precompile(Tuple{typeof(replace_index),scal{Complex{Rational{Int64}}},Symbol,Symbol})
    Base.precompile(Tuple{typeof(separate_prefac),Corr})
    Base.precompile(Tuple{typeof(show),IOBuffer,MIME{Symbol("text/latex")},OpSum})
    Base.precompile(Tuple{typeof(sumindextuple),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(sumindextuple),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(sumindextuple),Corr})
    Base.precompile(Tuple{typeof(sumindextuple),ExpVal})
    Base.precompile(Tuple{typeof(sumindextuple),OpProd})
    Base.precompile(Tuple{typeof(sumindextuple),σminus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(sumindextuple),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(sumindextuple),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(sumtuple),BosonDestroy{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(sumtuple),OpSum})
    Base.precompile(Tuple{typeof(symmetric_index_nums),OpProd})
    Base.precompile(Tuple{typeof(use_σpm),Bool})
    Base.precompile(Tuple{typeof(vacA),BosonCreate{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(vacA),BosonCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(vacA),BosonDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(vacA),FermionCreate{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(vacA),FermionDestroy{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(vacA),OpProd})
    Base.precompile(Tuple{typeof(vacA),OpSumAnalytic})
    Base.precompile(Tuple{typeof(vacA),OpSum})
    Base.precompile(Tuple{typeof(vacA),scal{Complex{Rational{Int64}}}})
    Base.precompile(Tuple{typeof(vacA),scal{Float64}})
    Base.precompile(Tuple{typeof(vacA),scal{Int64}})
    Base.precompile(Tuple{typeof(vacA),δ})
    Base.precompile(Tuple{typeof(vacA),σminus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(vacA),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(vacA),σplus{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(vacA),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(vacA),σ{Tuple{Symbol}}})
    Base.precompile(Tuple{typeof(vacExpVal),OpProd,OpSum})
    Base.precompile(Tuple{typeof(vacExpVal),OpProd})
    Base.precompile(Tuple{typeof(vacExpVal),OpSumAnalytic})
    Base.precompile(Tuple{typeof(vacExpVal),OpSum})
    Base.precompile(Tuple{typeof(vacExpVal),scal{Int64},OpSum})
    Base.precompile(Tuple{typeof(vacExpVal),σplus{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(vacExpVal),σ{Tuple{Int64}}})
    Base.precompile(Tuple{typeof(σm),Int64,Vararg{Any, N} where N})
    Base.precompile(Tuple{typeof(σm),Int64})
    Base.precompile(Tuple{typeof(σm),Symbol,Vararg{Symbol, N} where N})
    Base.precompile(Tuple{typeof(σm),Symbol})
    Base.precompile(Tuple{typeof(σm),Tuple{Symbol, Symbol}})
    Base.precompile(Tuple{typeof(σm)})
    Base.precompile(Tuple{typeof(σp),Int64})
    Base.precompile(Tuple{typeof(σp),Symbol})
    Base.precompile(Tuple{typeof(σp),Tuple{Symbol, Symbol}})
    Base.precompile(Tuple{typeof(σp)})
    Base.precompile(Tuple{typeof(σx),Int64})
    Base.precompile(Tuple{typeof(σx),Symbol,Vararg{Any, N} where N})
    Base.precompile(Tuple{typeof(σx),Symbol})
    Base.precompile(Tuple{typeof(σx),Tuple{Symbol, Symbol}})
    Base.precompile(Tuple{typeof(σx)})
    Base.precompile(Tuple{typeof(σy),Int64})
    Base.precompile(Tuple{typeof(σy),Symbol,Vararg{Symbol, N} where N})
    Base.precompile(Tuple{typeof(σy),Symbol})
    Base.precompile(Tuple{typeof(σy)})
    Base.precompile(Tuple{typeof(σz),Int64,Vararg{Any, N} where N})
    Base.precompile(Tuple{typeof(σz),Int64})
    Base.precompile(Tuple{typeof(σz),Symbol,Vararg{Symbol, N} where N})
    Base.precompile(Tuple{typeof(σz),Symbol})
    Base.precompile(Tuple{typeof(σz)})
    Base.precompile(Tuple{var"##24#ann",Int64,Vararg{Any, N} where N})
    Base.precompile(Tuple{var"##24#ann",Int64})
    Base.precompile(Tuple{var"##24#ann",String})
    Base.precompile(Tuple{var"##24#ann",Symbol,Vararg{Symbol, N} where N})
    Base.precompile(Tuple{var"##24#ann",Symbol})
    Base.precompile(Tuple{var"##24#ann"})
    Base.precompile(Tuple{var"##25#cre",Int64,Vararg{Any, N} where N})
    Base.precompile(Tuple{var"##25#cre",Int64})
    Base.precompile(Tuple{var"##25#cre",Symbol,Vararg{Symbol, N} where N})
    Base.precompile(Tuple{var"##25#cre",Symbol})
    Base.precompile(Tuple{var"##25#cre"})
    Base.precompile(Tuple{var"##28#ann",Symbol})
    Base.precompile(Tuple{var"##28#ann"})
    Base.precompile(Tuple{var"##29#cre",Symbol,Vararg{Symbol, N} where N})
    Base.precompile(Tuple{var"##29#cre",Symbol})
    Base.precompile(Tuple{var"##29#cre"})
end
