An Automated Market Maker (AMM) is a smart contract created to allow the exchange of assets according to a mathematical function defined in the contract. As the exchanges occur, if they start to deplete one of the assets held by the contract, we would like to increase the relative price of the asset being depleted. On the other hand, when the balances of the assets are not too far from each other, we would like the relative price of the assets to stay as close to a constant as possible.
These two competing wishes were handled by creating a formula consisting of the weighted sum of two functions: one taking care of the neighborhood of the starting point and the other under the condition when the assets diverge significantly.
We propose an ultimate compromise: a straight line in the neighborhood, and the translated original function that treats all points on the function the same without a specific bias when the assets diverge.
We present in detail the case of two assets, and we propose (without analysis) a generalization of the construction to the multi-asset case.