  Due to the absence of a library for non-linear function evaluation, so-called
general-purpose secure multi-party computation (MPC) are not as ''general'' as
MPC programmers expect. Prior arts either naively reuse plaintext methods,
resulting in suboptimal performance and even incorrect results, or handcraft ad
hoc approximations for specific functions or platforms. We propose a general
technique, NFGen, that utilizes pre-computed discrete piecewise polynomials to
accurately approximate generic functions using fixed-point numbers. We
implement it using a performance-prediction-based code generator to support
different platforms. Conducting extensive evaluations of 23 non-linear
functions against six MPC protocols on two platforms, we demonstrate
significant performance, accuracy, and generality improvements over existing
methods.
