fmcTitle("tp040r")$ /* Source version 1 */ /* Simple APM canonicalizer version 1.3 */ /* FMCMAC backend version 1.2 */ myownabs(x) := fmc_m_abs(x)$ lbx3 : 0$ fmcInitialValue(x_1, 0.8b0)$ fmcInitialValue(x_2, 0.8b0)$ fmcInitialValue(x_3, 0.8b0)$ fmcStrongLowerBound(x_3, lbx3)$ fmcInitialValue(x_4, 0.8b0)$ myminfun : -x_1*x_2*x_3*x_4$ myabsdevnod0_0 : myownabs(myminfun + 0.25b0)$ myreldevnod0_0 : myownabs(myminfun/0.25b0 + 1)$ myabsdevnod0_1 : myownabs(x_1 - 0.7937005259840997b0)$ myreldevnod0_1 : myownabs(x_1/0.7937005259840997b0 - 1)$ myabsdevnod0_2 : myownabs(x_2 - 0.7071067811865475b0)$ myreldevnod0_2 : myownabs(x_2/0.7071067811865475b0 - 1)$ myabsdevnod0_3 : myownabs(x_3 - 0.5297315471796476b0)$ myreldevnod0_3 : myownabs(x_3/0.5297315471796476b0 - 1)$ myabsdevnod0_4 : myownabs(x_4 - 0.8408964152537145b0)$ myreldevnod0_4 : myownabs(x_4/0.8408964152537145b0 - 1)$ myabsdevnod1_0 : (1/2)*(myownabs(myabsdevnod0_0 - myabsdevnod0_1) + (myabsdevnod0_0 + myabsdevnod0_1))$ myreldevnod1_0 : (1/2)*(myownabs(myreldevnod0_0 - myreldevnod0_1) + (myreldevnod0_0 + myreldevnod0_1))$ myabsdevnod1_2 : (1/2)*(myownabs(myabsdevnod0_2 - myabsdevnod0_3) + (myabsdevnod0_2 + myabsdevnod0_3))$ myreldevnod1_2 : (1/2)*(myownabs(myreldevnod0_2 - myreldevnod0_3) + (myreldevnod0_2 + myreldevnod0_3))$ myabsdevnod1_4 : myabsdevnod0_4$ myreldevnod1_4 : myreldevnod0_4$ myabsdevnod2_0 : (1/2)*(myownabs(myabsdevnod1_0 - myabsdevnod1_2) + (myabsdevnod1_0 + myabsdevnod1_2))$ myreldevnod2_0 : (1/2)*(myownabs(myreldevnod1_0 - myreldevnod1_2) + (myreldevnod1_0 + myreldevnod1_2))$ myabsdevnod2_4 : myabsdevnod1_4$ myreldevnod2_4 : myreldevnod1_4$ myabsdevnod3_0 : (1/2)*(myownabs(myabsdevnod2_0 - myabsdevnod2_4) + (myabsdevnod2_0 + myabsdevnod2_4))$ myreldevnod3_0 : (1/2)*(myownabs(myreldevnod2_0 - myreldevnod2_4) + (myreldevnod2_0 + myreldevnod2_4))$ zmyabsdevmax : myabsdevnod3_0$ zmyreldevmax : myreldevnod3_0$ obj : myminfun$ fmcMinimum(obj)$ fmcEquality(ce_1, x_1^3 + x_2^2 - 1)$ fmcEquality(ce_2, x_1^2*x_4 - x_3)$ fmcEquality(ce_3, x_4^2 - x_2)$ fmcEscortFloat(x_1, x_1)$ fmcEscortFloat(x_2, x_2)$ fmcEscortFloat(x_3, x_3)$ fmcEscortFloat(x_4, x_4)$ fmcEscortFloat('myminfun, myminfun)$ fmcEscortFloat('zmyabsdevmax, zmyabsdevmax)$ fmcEscortFloat('zmyreldevmax, zmyreldevmax)$ fmcControlMinimum(1, 0)$ /* End Model */