def get_labor_input_baseline(
    assets_this_period,
    assets_next_period,
    interest_rate,
    wage_rate,
    income_tax_rate,
    productivity,
    efficiency,
    gamma,
):
    """ Calculate optimal household labor input.

    Arguments:
        assets_this_period: np.float64
            Current asset holdings (pre interest payment)
        assets_next_period: np.float64
            Savings for asset holdings next period (pre interest payment)
        interest_rate: np.float64
            Current interest rate on capital holdings
        wage_rate: np.float64
            Current wage rate on effective labor input
        income_tax_rate: np.float64
            Tax rate on labor income
        productivity: np.float64
            Current household productivity level (shock)
        efficiency: np.float64
            Age-dependent labor efficiency multiplier
        gamma: np.float64
            Weight of consumption utility vs. leisure utility
    Returns:
        labor_input: np.float64
            Optimal hours worked
    """
    if efficiency == 0.0:
        labor_input = 0.0
    elif gamma == 1.0:
        labor_input = 1.0
    else:
        labor_input = (
            gamma * (1.0 - income_tax_rate) * productivity * efficiency * wage_rate
            - (1.0 - gamma)
            * ((1.0 + interest_rate) * assets_this_period - assets_next_period)
        ) / ((1.0 - income_tax_rate) * productivity * efficiency * wage_rate)

    if labor_input > 1.0:
        labor_input = 1.0
    elif labor_input < 0.0:
        labor_input = 0.0

    return labor_input