#include "stdlib.h"
#include "math.h"



double eq1(double x,double theta,double motorpos1,double lunghezzariposomolla)
            {  
               double MapleGenVar1,MapleGenVar2,MapleGenVar3,MapleGenVar4,MapleGenVar5,MapleGenVar6,MapleGenVar7,t0;
               double MapleGenVar8,MapleGenVar9,MapleGenVar10,MapleGenVar11,MapleGenVar12;
               
                   MapleGenVar6 = 0.1821471932091074E2*sqrt((50625000.0-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*lunghezzariposomolla+
                               lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*
                                 lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)-0.2400000001E13*
                                  lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla+0.4000000002E14*
                                    lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla*
                                   lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
                                    -240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla-0.6071573107636912E3*
                                    sqrt((50625000.0-2700000000.0*lunghezzariposomolla+0.126E12*
                                   lunghezzariposomolla*lunghezzariposomolla+lunghezzariposomolla*
                                  lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
                                    -1200.0*lunghezzariposomolla+29.0)-0.2400000001E13*lunghezzariposomolla*
                                    lunghezzariposomolla*lunghezzariposomolla+0.4000000002E14*lunghezzariposomolla*
                                   lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla)/pow(9.0+8000.0*
                                     lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla,2.0))*
                                           lunghezzariposomolla*lunghezzariposomolla;
                     MapleGenVar7 = MapleGenVar6-0.6830519747008193*sqrt((50625000.0
                                      -2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
                                        lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
                                       lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
                                     -0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
                                              +0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
                                         *lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
                                              -240.0*lunghezzariposomolla,2.0));
                   MapleGenVar5 = MapleGenVar7-0.2320000000116E5*lunghezzariposomolla
                                          -0.960000000048E2*atan2(0.1E-7*(480000000.0+2.0*lunghezzariposomolla-60000000.0
                                         *sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*
                                          lunghezzariposomolla+29.0)+4000000001.0*lunghezzariposomolla*sqrt(40000.0*
                                           lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(
                                                9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla
                                       ),-0.4*(400.0*lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
                                        lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
                                         lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla));
                  MapleGenVar6 = MapleGenVar5+0.1500000000075E3*sqrt(40000.0*
                                            lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+
                                          0.160000000008E4*lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*
                                           lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0);
               MapleGenVar7 = MapleGenVar6-0.2720000000136E5*x;
                 MapleGenVar8 = MapleGenVar7-0.480000000024E2*atan2(0.1E-7*(480000000.0+
                                         2.0*lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
                                           lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
                                             lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0);
      MapleGenVar9 = MapleGenVar8;
      MapleGenVar11 = 0.480000000024E2*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x
-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*
x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0
*x))*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar12 = 0.320000000016E4*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*
lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar10 = MapleGenVar11+MapleGenVar12;
      MapleGenVar4 = MapleGenVar9+MapleGenVar10;
      MapleGenVar7 = MapleGenVar4;
      MapleGenVar9 = -0.240000000012E2*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0)*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar10 = 0.426666666688E6*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x
-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*
x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0
*x))*lunghezzariposomolla*x;
      MapleGenVar8 = MapleGenVar9+MapleGenVar10;
      MapleGenVar6 = MapleGenVar7+MapleGenVar8;
      MapleGenVar7 = MapleGenVar6-0.320000000016E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)*x;
      MapleGenVar5 = MapleGenVar7-0.320000000016E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*x+29.0)+
0.240000000012E2*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0)+200.0*x*
sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0
*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x))*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)*
sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar3 = MapleGenVar5+0.480000000024E6*x*x+0.120000000006E3*sqrt(
40000.0*x*x-1200.0*x+29.0)+0.960000000048E2*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*
x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0
*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x
-240.0*x))-0.160000000008E4*x*sqrt(40000.0*x*x-1200.0*x+29.0)
-0.1599999999413333E4*lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*x+29.0)
-0.640000000032E4*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0)+200.0*x*
sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0
*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x))*
lunghezzariposomolla;
      MapleGenVar6 = MapleGenVar3-0.480000000024E2*atan2(0.1E-7*(480000000.0+
2.0*lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*x*x-1200.0*x+29.0);
      MapleGenVar5 = MapleGenVar6+0.480000000024E2*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)-0.640000000032E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*x+0.106666666672E6*x*sqrt(40000.0*x*x-1200.0*x+29.0)*
lunghezzariposomolla;
      MapleGenVar7 = MapleGenVar5;
      MapleGenVar9 = 0.640000000032E4*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*
lunghezzariposomolla;
      MapleGenVar10 = 0.320000000016E4*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0)*x;
      MapleGenVar8 = MapleGenVar9+MapleGenVar10;
      MapleGenVar6 = MapleGenVar7+MapleGenVar8;
      MapleGenVar7 = MapleGenVar6+0.9107359660455368E1*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*
x+29.0);
      MapleGenVar8 = MapleGenVar7-0.3035786553485123E3*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*lunghezzariposomolla*
sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar9 = MapleGenVar8;
      MapleGenVar11 = -0.426666666688E6*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*
lunghezzariposomolla*x;
      MapleGenVar12 = 0.4553679830894351E2*sqrt((50625000.0-2700000000.0*
lunghezzariposomolla+0.126E12*lunghezzariposomolla*lunghezzariposomolla+
lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)-0.2400000001E13*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla+0.4000000002E14*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla*
lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*x;
      MapleGenVar10 = MapleGenVar11+MapleGenVar12;
      MapleGenVar4 = MapleGenVar9+MapleGenVar10;
      MapleGenVar5 = MapleGenVar4+0.960000000048E6*lunghezzariposomolla*x
-0.560000000028E4*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0
*lunghezzariposomolla+29.0)*x-0.320000000016E8*x*x*lunghezzariposomolla+
0.240000000012E6*x*x*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)-0.341525987283743*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar7 = MapleGenVar5+0.640000000032E4*atan2(0.1E-7*(480000000.0+
2.0*lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*x;
      MapleGenVar6 = MapleGenVar7-0.1214314621394049E4*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*x+0.4047715404869052E5*
sqrt((50625000.0-2700000000.0*lunghezzariposomolla+0.126E12*
lunghezzariposomolla*lunghezzariposomolla+lunghezzariposomolla*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)-0.2400000001E13*lunghezzariposomolla*
lunghezzariposomolla*lunghezzariposomolla+0.4000000002E14*lunghezzariposomolla*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla)/pow(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla,2.0))*
lunghezzariposomolla*lunghezzariposomolla*x;
      MapleGenVar2 = MapleGenVar6-0.106666666672E6*lunghezzariposomolla*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0)*x+0.8000000007066667E3*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)*
sqrt(40000.0*x*x-1200.0*x+29.0)-0.80000000004E3*x*sqrt(40000.0*x*x-1200.0*x+
29.0)*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*
lunghezzariposomolla+29.0)+0.5399999999603333E3;
      MapleGenVar3 = 1/(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(
-400.0*lunghezzariposomolla+6.0+3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0));
      MapleGenVar1 = MapleGenVar2*MapleGenVar3;
      MapleGenVar2 = theta-motorpos1;
      t0 = MapleGenVar1+MapleGenVar2;


               return t0;           
            }

double eq2(double x,double theta,double motorpos2,double lunghezzariposomolla)
            {   
               double MapleGenVar1,MapleGenVar2,MapleGenVar3,MapleGenVar4,MapleGenVar5,MapleGenVar6,MapleGenVar7,t0;
               double MapleGenVar8,MapleGenVar9,MapleGenVar10,MapleGenVar11,MapleGenVar12;
                MapleGenVar6 = 0.5399999999603333E3+0.1821471932091074E2*sqrt((50625000.0-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla;
      MapleGenVar5 = MapleGenVar6-0.6071573107636912E3*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*lunghezzariposomolla
-0.6830519747008193*sqrt((50625000.0-2700000000.0*lunghezzariposomolla+0.126E12
*lunghezzariposomolla*lunghezzariposomolla+lunghezzariposomolla*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)-0.2400000001E13*lunghezzariposomolla*
lunghezzariposomolla*lunghezzariposomolla+0.4000000002E14*lunghezzariposomolla*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla)/pow(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla,2.0))
-0.2320000000116E5*lunghezzariposomolla;
      MapleGenVar6 = MapleGenVar5-0.960000000048E2*atan2(0.1E-7*(480000000.0+
2.0*lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))+
0.1500000000075E3*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0
*lunghezzariposomolla+29.0);
      MapleGenVar7 = MapleGenVar6+0.160000000008E4*lunghezzariposomolla*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0);
      MapleGenVar8 = MapleGenVar7-0.2720000000136E5*x;
      MapleGenVar9 = MapleGenVar8;
      MapleGenVar11 = -0.480000000024E2*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0);
      MapleGenVar12 = 0.480000000024E2*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x
-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*
x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0
*x))*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar10 = MapleGenVar11+MapleGenVar12;
      MapleGenVar4 = MapleGenVar9+MapleGenVar10;
      MapleGenVar7 = MapleGenVar4;
      MapleGenVar9 = 0.320000000016E4*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*
lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar10 = -0.240000000012E2*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0)*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar8 = MapleGenVar9+MapleGenVar10;
      MapleGenVar6 = MapleGenVar7+MapleGenVar8;
      MapleGenVar7 = MapleGenVar6+0.426666666688E6*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*lunghezzariposomolla*x;
      MapleGenVar5 = MapleGenVar7-0.320000000016E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)*x-0.320000000016E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar6 = MapleGenVar5+0.240000000012E2*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)*sqrt(40000.0*x*x-1200.0*x+29.0)+
0.480000000024E6*x*x;
      MapleGenVar3 = MapleGenVar6+0.120000000006E3*sqrt(40000.0*x*x-1200.0*x+
29.0)+0.960000000048E2*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0)+
200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x),-0.4*(400.0*x
-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x))
-0.160000000008E4*x*sqrt(40000.0*x*x-1200.0*x+29.0)-0.1599999999413333E4*
lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar6 = MapleGenVar3-0.640000000032E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*lunghezzariposomolla;
      MapleGenVar7 = MapleGenVar6-0.480000000024E2*atan2(0.1E-7*(480000000.0+
2.0*lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*x*x-1200.0*x+29.0);
      MapleGenVar5 = MapleGenVar7+0.480000000024E2*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)-0.640000000032E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*x;
      MapleGenVar6 = MapleGenVar5+0.106666666672E6*x*sqrt(40000.0*x*x-1200.0*x+
29.0)*lunghezzariposomolla+0.640000000032E4*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*
lunghezzariposomolla;
      MapleGenVar7 = MapleGenVar6+0.320000000016E4*atan2(0.1E-7*(480000000.0+
2.0*lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*sqrt(
40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+
29.0)*x;
      MapleGenVar8 = MapleGenVar7+0.9107359660455368E1*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*sqrt(40000.0*x*x-1200.0*
x+29.0);
      MapleGenVar9 = MapleGenVar8;
      MapleGenVar11 = -0.3035786553485123E3*sqrt((50625000.0-2700000000.0*
lunghezzariposomolla+0.126E12*lunghezzariposomolla*lunghezzariposomolla+
lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)-0.2400000001E13*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla+0.4000000002E14*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla*
lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*lunghezzariposomolla*
sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar12 = -0.426666666688E6*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*
lunghezzariposomolla*x;
      MapleGenVar10 = MapleGenVar11+MapleGenVar12;
      MapleGenVar4 = MapleGenVar9+MapleGenVar10;
      MapleGenVar5 = MapleGenVar4+0.4553679830894351E2*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*x+0.960000000048E6*lunghezzariposomolla*x
-0.560000000028E4*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla-1200.0
*lunghezzariposomolla+29.0)*x-0.320000000016E8*x*x*lunghezzariposomolla+
0.240000000012E6*x*x*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0);
      MapleGenVar7 = MapleGenVar5-0.341525987283743*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar8 = MapleGenVar7;
      MapleGenVar10 = 0.640000000032E4*atan2(0.1E-7*(480000000.0+2.0*
lunghezzariposomolla-60000000.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)+4000000001.0*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*lunghezzariposomolla*
lunghezzariposomolla-240.0*lunghezzariposomolla),-0.4*(400.0*
lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0))/(9.0+8000.0*
lunghezzariposomolla*lunghezzariposomolla-240.0*lunghezzariposomolla))*x;
      MapleGenVar11 = -0.1214314621394049E4*sqrt((50625000.0-2700000000.0*
lunghezzariposomolla+0.126E12*lunghezzariposomolla*lunghezzariposomolla+
lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)-0.2400000001E13*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla+0.4000000002E14*
lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla*
lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*x;
      MapleGenVar9 = MapleGenVar10+MapleGenVar11;
      MapleGenVar6 = MapleGenVar8+MapleGenVar9;
      MapleGenVar2 = MapleGenVar6+0.4047715404869052E5*sqrt((50625000.0
-2700000000.0*lunghezzariposomolla+0.126E12*lunghezzariposomolla*
lunghezzariposomolla+lunghezzariposomolla*lunghezzariposomolla*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)
-0.2400000001E13*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
+0.4000000002E14*lunghezzariposomolla*lunghezzariposomolla*lunghezzariposomolla
*lunghezzariposomolla)/pow(9.0+8000.0*lunghezzariposomolla*lunghezzariposomolla
-240.0*lunghezzariposomolla,2.0))*lunghezzariposomolla*lunghezzariposomolla*x
-0.106666666672E6*lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0)*x+0.8000000007066667E3*
lunghezzariposomolla*sqrt(40000.0*lunghezzariposomolla*lunghezzariposomolla
-1200.0*lunghezzariposomolla+29.0)*sqrt(40000.0*x*x-1200.0*x+29.0)
-0.80000000004E3*x*sqrt(40000.0*x*x-1200.0*x+29.0)*sqrt(40000.0*
lunghezzariposomolla*lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0);
      MapleGenVar3 = 1/(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(400.0
*lunghezzariposomolla-6.0-3.0*sqrt(40000.0*lunghezzariposomolla*
lunghezzariposomolla-1200.0*lunghezzariposomolla+29.0));
      MapleGenVar1 = MapleGenVar2*MapleGenVar3;
      MapleGenVar2 = theta-motorpos2;
      t0 = MapleGenVar1+MapleGenVar2;

                return t0;                        
            }
            
            
            
double eq3(double x,double motorpos1,double motorpos2,double l3angolinulli)
            {
                double MapleGenVar1,MapleGenVar2,MapleGenVar3,MapleGenVar4,MapleGenVar5,MapleGenVar6,MapleGenVar7,t0;
               double MapleGenVar8,MapleGenVar9,MapleGenVar10,MapleGenVar11,MapleGenVar12;
                MapleGenVar6 = 0.2320000000116E5*l3angolinulli+0.2720000000136E5*x;      MapleGenVar7 = MapleGenVar6-0.640000000032E4*atan2(0.1E-7*(480000000.0+
2.0*l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*l3angolinulli;
      MapleGenVar5 = MapleGenVar7-0.1821471932091074E2*sqrt((50625000.0
-2700000000.0*l3angolinulli+0.126E12*l3angolinulli*l3angolinulli+l3angolinulli*
l3angolinulli*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+
29.0)-0.2400000001E13*l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14
*l3angolinulli*l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli,2.0))*l3angolinulli+
0.6071573107636912E3*sqrt((50625000.0-2700000000.0*l3angolinulli+0.126E12*
l3angolinulli*l3angolinulli+l3angolinulli*l3angolinulli*sqrt(40000.0*
l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)-0.2400000001E13*
l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14*l3angolinulli*
l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli,2.0))*l3angolinulli*l3angolinulli;
      MapleGenVar6 = MapleGenVar5-0.480000000024E2*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*sqrt(40000.0*x*x-1200.0*x+29.0)-0.480000000024E6*x*x;
      MapleGenVar4 = MapleGenVar6-0.120000000006E3*sqrt(40000.0*x*x-1200.0*x+
29.0)-0.960000000048E2*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0)+
200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x),-0.4*(400.0*x
-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x))+
0.160000000008E4*x*sqrt(40000.0*x*x-1200.0*x+29.0)+0.640000000032E4*atan2(0.2*(
24.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0
))/(9.0+8000.0*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+
29.0))/(9.0+8000.0*x*x-240.0*x))*x;
      MapleGenVar7 = MapleGenVar4;
      MapleGenVar9 = 0.960000000048E2*atan2(0.1E-7*(480000000.0+2.0*
l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli));
      MapleGenVar10 = 0.480000000024E2*atan2(0.1E-7*(480000000.0+2.0*
l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0);
      MapleGenVar8 = MapleGenVar9+MapleGenVar10;
      MapleGenVar6 = MapleGenVar7+MapleGenVar8;
      MapleGenVar5 = MapleGenVar6-0.1500000000075E3*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0)+0.6830519747008193*sqrt((50625000.0
-2700000000.0*l3angolinulli+0.126E12*l3angolinulli*l3angolinulli+l3angolinulli*
l3angolinulli*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+
29.0)-0.2400000001E13*l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14
*l3angolinulli*l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli,2.0))-0.160000000008E4*
l3angolinulli*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+
29.0);
      MapleGenVar6 = MapleGenVar5-0.5399999999603333E3+0.80000000004E3*x*sqrt(
40000.0*x*x-1200.0*x+29.0)*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0);
      MapleGenVar7 = MapleGenVar6-0.320000000016E4*atan2(0.1E-7*(480000000.0+
2.0*l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*l3angolinulli*sqrt(40000.0*x*
x-1200.0*x+29.0);
      MapleGenVar8 = MapleGenVar7-0.106666666672E6*x*sqrt(40000.0*x*x-1200.0*x+
29.0)*l3angolinulli;
      MapleGenVar3 = MapleGenVar8+0.240000000012E2*atan2(0.1E-7*(480000000.0+
2.0*l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0)*sqrt(40000.0*x*x-1200.0*x+29.0)
-0.426666666688E6*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0)+200.0*x*
sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0
*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*x))*l3angolinulli*x;
      MapleGenVar6 = MapleGenVar3+0.320000000016E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*l3angolinulli*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar7 = MapleGenVar6-0.480000000024E2*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0);
      MapleGenVar5 = MapleGenVar7+0.480000000024E2*atan2(0.1E-7*(480000000.0+
2.0*l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*sqrt(40000.0*x*x-1200.0*x+
29.0)-0.9107359660455368E1*sqrt((50625000.0-2700000000.0*l3angolinulli+0.126E12
*l3angolinulli*l3angolinulli+l3angolinulli*l3angolinulli*sqrt(40000.0*
l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)-0.2400000001E13*
l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14*l3angolinulli*
l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli,2.0))*l3angolinulli*sqrt(40000.0*x*x-1200.0*x
+29.0);
      MapleGenVar6 = MapleGenVar5+0.640000000032E4*atan2(0.2*(24.0-3.0*sqrt(
40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0
*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x))*l3angolinulli+0.3035786553485123E3*sqrt((50625000.0
-2700000000.0*l3angolinulli+0.126E12*l3angolinulli*l3angolinulli+l3angolinulli*
l3angolinulli*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+
29.0)-0.2400000001E13*l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14
*l3angolinulli*l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli,2.0))*l3angolinulli*
l3angolinulli*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar7 = MapleGenVar6-0.8000000007066667E3*l3angolinulli*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)*sqrt(40000.0*x*x
-1200.0*x+29.0);
      MapleGenVar4 = MapleGenVar7+0.560000000028E4*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0)*x+0.320000000016E4*atan2(0.2*(24.0-3.0
*sqrt(40000.0*x*x-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+
8000.0*x*x-240.0*x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0
+8000.0*x*x-240.0*x))*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)*x-0.4047715404869052E5*sqrt((50625000.0-2700000000.0*
l3angolinulli+0.126E12*l3angolinulli*l3angolinulli+l3angolinulli*l3angolinulli*
sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)
-0.2400000001E13*l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14*
l3angolinulli*l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli,2.0))*l3angolinulli*
l3angolinulli*x;
      MapleGenVar5 = MapleGenVar4+0.1214314621394049E4*sqrt((50625000.0
-2700000000.0*l3angolinulli+0.126E12*l3angolinulli*l3angolinulli+l3angolinulli*
l3angolinulli*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+
29.0)-0.2400000001E13*l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14
*l3angolinulli*l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli,2.0))*l3angolinulli*x+
0.106666666672E6*l3angolinulli*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)*x-0.4553679830894351E2*sqrt((50625000.0-2700000000.0*
l3angolinulli+0.126E12*l3angolinulli*l3angolinulli+l3angolinulli*l3angolinulli*
sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)
-0.2400000001E13*l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14*
l3angolinulli*l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli,2.0))*x-0.960000000048E6*
l3angolinulli*x+0.1599999999413333E4*l3angolinulli*sqrt(40000.0*x*x-1200.0*x+
29.0);
      MapleGenVar7 = MapleGenVar5+0.426666666688E6*atan2(0.1E-7*(480000000.0+
2.0*l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*l3angolinulli*x;
      MapleGenVar8 = MapleGenVar7;
      MapleGenVar10 = -0.320000000016E4*atan2(0.1E-7*(480000000.0+2.0*
l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0)*x;
      MapleGenVar11 = -0.240000000012E2*atan2(0.2*(24.0-3.0*sqrt(40000.0*x*x
-1200.0*x+29.0)+200.0*x*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0*
x),-0.4*(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(9.0+8000.0*x*x-240.0
*x))*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)*sqrt(
40000.0*x*x-1200.0*x+29.0);
      MapleGenVar9 = MapleGenVar10+MapleGenVar11;
      MapleGenVar6 = MapleGenVar8+MapleGenVar9;
      MapleGenVar7 = MapleGenVar6-0.640000000032E4*atan2(0.1E-7*(480000000.0+
2.0*l3angolinulli-60000000.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0)+4000000001.0*l3angolinulli*sqrt(40000.0*l3angolinulli*
l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli),-0.4*(400.0*l3angolinulli-6.0-3.0*sqrt(
40000.0*l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0))/(9.0+8000.0*
l3angolinulli*l3angolinulli-240.0*l3angolinulli))*x;
      MapleGenVar2 = MapleGenVar7-0.240000000012E6*x*x*sqrt(40000.0*
l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)+0.320000000016E8*x*x*
l3angolinulli+0.341525987283743*sqrt((50625000.0-2700000000.0*l3angolinulli+
0.126E12*l3angolinulli*l3angolinulli+l3angolinulli*l3angolinulli*sqrt(40000.0*
l3angolinulli*l3angolinulli-1200.0*l3angolinulli+29.0)-0.2400000001E13*
l3angolinulli*l3angolinulli*l3angolinulli+0.4000000002E14*l3angolinulli*
l3angolinulli*l3angolinulli*l3angolinulli)/pow(9.0+8000.0*l3angolinulli*
l3angolinulli-240.0*l3angolinulli,2.0))*sqrt(40000.0*x*x-1200.0*x+29.0);
      MapleGenVar3 = 1/(400.0*x-6.0-3.0*sqrt(40000.0*x*x-1200.0*x+29.0))/(400.0
*l3angolinulli-6.0-3.0*sqrt(40000.0*l3angolinulli*l3angolinulli-1200.0*
l3angolinulli+29.0));
      MapleGenVar1 = MapleGenVar2*MapleGenVar3;
      MapleGenVar2 = motorpos1-motorpos2;
      t0 = MapleGenVar1+MapleGenVar2;


                return t0;                         
            
            }
            
            

double max(double a,double b)
           {if (a>b) return a;
              else return b;
           }
           
           
           
double lunghezzamolla1(double theta,double thetam,double sguess1,double sguess2,double lunghezzariposomolla)
      {
        double tol=1.e-4;
        double fcount=0;
        double toler;
        double a = sguess1; double savea=a;
        double b = sguess2; double saveb=b;
        double fa= eq1(a,theta,thetam,lunghezzariposomolla);
        double fb= eq1(b,theta,thetam,lunghezzariposomolla);
        double fc,c,d,e,s,m,p,q,r;
        fcount=fcount+2;
        if ( fa == 0 )
           return a;
        if ( fb == 0)
           return b;
        fc=fb;
        while (fb != 0)
           {if ((fb > 0) == (fc > 0))
               { c = a;  fc = fa;
                 d = b - a;   e = d;
               }
            if (fabs(fc) < fabs(fb))
                {a = b;    b = c;    c = a;
                 fa = fb;  fb = fc;  fc = fa; 
                }
            m = 0.5*(c - b);
            toler=2.0*tol*max(fabs(b),0.001);
            if ((fabs(m) <= toler) + (fb == 0.0)) 
                break;
            if ((fabs(e) < toler) + (fabs(fa) <= fabs(fb)))
                {d = m;  e = m;
                }
            else
                {s = fb/fa;
                 if (a == c)
                    {p = 2.0*m*s;
                     q = 1.0 - s;
                    }
                 else
                    {q = fa/fc;
                     r = fb/fc;
                     p = s*(2.0*m*q*(q - r) - (b - a)*(r - 1.0));
                     q = (q - 1.0)*(r - 1.0)*(s - 1.0);
                    }
                 if (p > 0) q = -q; else p = -p;
                 if ((2.0*p < 3.0*m*q - fabs(toler*q)) * (p < fabs(0.5*e*q)))
                      {e = d;  d = p/q;
                      }
                 else
                     {d = m;  e = m;
                     }
                     
                 }
            a=b;
            fa=fb;
            if (fabs(d)>toler)
                   b=b+d;
            else 
                {if (b > c) 
                 b = b - toler;
                 else 
                 b = b + toler;
                }
            fb=eq1(b,theta,thetam,lunghezzariposomolla);
            fcount++;
           }
        return b;    
       }
       
       
       
       
double lunghezzamolla2(double theta,double thetam,double sguess1,double sguess2,double lunghezzariposomolla)
      {
        double tol=1.e-4;
        double fcount=0;
        double toler;
        double a = sguess1; double savea=a;
        double b = sguess2; double saveb=b;
        double fa= eq2(a,theta,thetam,lunghezzariposomolla);
        double fb= eq2(b,theta,thetam,lunghezzariposomolla);
        double fc,c,d,e,s,m,p,q,r;
        fcount=fcount+2;
        if ( fa == 0 )
           return a;
        if ( fb == 0)
           return b;
        fc=fb;
        while (fb != 0)
           {if ((fb > 0) == (fc > 0))
               { c = a;  fc = fa;
                 d = b - a;   e = d;
               }
            if (fabs(fc) < fabs(fb))
                {a = b;    b = c;    c = a;
                 fa = fb;  fb = fc;  fc = fa; 
                }
            m = 0.5*(c - b);
            toler=2.0*tol*max(fabs(b),0.001);
            if ((fabs(m) <= toler) + (fb == 0.0)) 
                break;
            if ((fabs(e) < toler) + (fabs(fa) <= fabs(fb)))
                {d = m;  e = m;
                }
            else
                {s = fb/fa;
                 if (a == c)
                    {p = 2.0*m*s;
                     q = 1.0 - s;
                    }
                 else
                    {q = fa/fc;
                     r = fb/fc;
                     p = s*(2.0*m*q*(q - r) - (b - a)*(r - 1.0));
                     q = (q - 1.0)*(r - 1.0)*(s - 1.0);
                    }
                 if (p > 0) q = -q; else p = -p;
                 if ((2.0*p < 3.0*m*q - fabs(toler*q)) * (p < fabs(0.5*e*q)))
                      {e = d;  d = p/q;
                      }
                 else
                     {d = m;  e = m;
                     }
                     
                 }
            a=b;
            fa=fb;
            if (fabs(d)>toler)
                   b=b+d;
            else 
                {if (b > c) 
                 b = b - toler;
                 else 
                 b = b + toler;
                }
            fb=eq2(b,theta,thetam,lunghezzariposomolla);
            fcount++;
           }
        return b;    
       }
       

       
       
       
       
       
       
double lunghezzamolla3(double theta1,double theta2,double sguess1,double sguess2,double lunghezzariposomolla3)
      {
        double tol=1.e-4;
        double fcount=0;
        double toler;
        double a = sguess1; double savea=a;
        double b = sguess2; double saveb=b;
        double fa= eq3(a,theta1,theta2,lunghezzariposomolla3);
        double fb= eq3(b,theta1,theta2,lunghezzariposomolla3);
        double fc,c,d,e,s,m,p,q,r;
        fcount=fcount+2;
        if ( fa == 0 )
           return a;
        if ( fb == 0)
           return b;
        fc=fb;
        while (fb != 0)
           {if ((fb > 0) == (fc > 0))
               { c = a;  fc = fa;
                 d = b - a;   e = d;
               }
            if (fabs(fc) < fabs(fb))
                {a = b;    b = c;    c = a;
                 fa = fb;  fb = fc;  fc = fa; 
                }
            m = 0.5*(c - b);
            toler=2.0*tol*max(fabs(b),0.001);
            if ((fabs(m) <= toler) + (fb == 0.0)) 
                break;
            if ((fabs(e) < toler) + (fabs(fa) <= fabs(fb)))
                {d = m;  e = m;
                }
            else
                {s = fb/fa;
                 if (a == c)
                    {p = 2.0*m*s;
                     q = 1.0 - s;
                    }
                 else
                    {q = fa/fc;
                     r = fb/fc;
                     p = s*(2.0*m*q*(q - r) - (b - a)*(r - 1.0));
                     q = (q - 1.0)*(r - 1.0)*(s - 1.0);
                    }
                 if (p > 0) q = -q; else p = -p;
                 if ((2.0*p < 3.0*m*q - fabs(toler*q)) * (p < fabs(0.5*e*q)))
                      {e = d;  d = p/q;
                      }
                 else
                     {d = m;  e = m;
                     }
                     
                 }
            a=b;
            fa=fb;
            if (fabs(d)>toler)
                   b=b+d;
            else 
                {if (b > c) 
                 b = b - toler;
                 else 
                 b = b + toler;
                }
            fb=eq3(b,theta1,theta2,lunghezzariposomolla3);
            fcount++;
           }
        return b;    
       }
       
       

       
       
       
       
#ifdef __cplusplus
extern "C" { // use the C fcn-call standard for all functions  
#endif       // defined within this scope        
#define S_FUNCTION_NAME  outputaccelerationfunction
#define S_FUNCTION_LEVEL 2
#include "simstruc.h"      
#define MASS(S) ssGetSFcnParam(S,0)
#define SPRINGCONSTANT(S) ssGetSFcnParam(S,1)
#define SPRINGCONSTANT3(S) ssGetSFcnParam(S,2)
#define INTERNALFRICTION(S) ssGetSFcnParam(S,3)
#define OUTPUTFRICTION(S) ssGetSFcnParam(S,4)       
#define INERTIA(S) ssGetSFcnParam(S,5)         
#define MOTORINERTIA(S) ssGetSFcnParam(S,6)     
#define LUNGHEZZARIPOSOMOLLA(S) ssGetSFcnParam(S,7)
#define LUNGHEZZARIPOSOMOLLA3(S) ssGetSFcnParam(S,8)
#define L3ANGOLINULLI(S) ssGetSFcnParam(S,9)
#define INITIALOUTPUTANGLE(S) ssGetSFcnParam(S,10)
#define INITIALOUTPUTVELOCITY(S) ssGetSFcnParam(S,11)
#define INITIALMOTOR1POS(S) ssGetSFcnParam(S,12)
#define INITIALMOTOR1VEL(S) ssGetSFcnParam(S,13)
#define INITIALMOTOR2POS(S) ssGetSFcnParam(S,14)
#define INITIALMOTOR2VEL(S) ssGetSFcnParam(S,15)
       
            
        
static void mdlInitializeSizes(SimStruct *S)
{
   
    ssSetNumSFcnParams(S, 16);  
    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {        
        return;
    }
    ssSetNumContStates(S, 6);
    if (!ssSetNumInputPorts(S, 3)) return;
    ssSetInputPortWidth(S, 0, 1);
    ssSetInputPortWidth(S, 1, 1);
    ssSetInputPortWidth(S, 2, 1);
    ssSetInputPortDirectFeedThrough(S, 0, 0);
    ssSetInputPortDirectFeedThrough(S, 1, 0);
    ssSetInputPortDirectFeedThrough(S, 2, 0);
    if (!ssSetNumOutputPorts(S, 12)) return;
    ssSetOutputPortWidth(S, 0, 1);
    ssSetOutputPortWidth(S, 1, 1);
    ssSetOutputPortWidth(S, 2, 1);
    ssSetOutputPortWidth(S, 3, 1);
    ssSetOutputPortWidth(S, 4, 1);
    ssSetOutputPortWidth(S, 5, 1);
    ssSetOutputPortWidth(S, 6, 1);
    ssSetOutputPortWidth(S, 7, 1);
    ssSetOutputPortWidth(S, 8, 1);
    ssSetOutputPortWidth(S, 9, 1);
    ssSetOutputPortWidth(S, 10, 1);
    ssSetOutputPortWidth(S, 11, 1);
    ssSetNumSampleTimes(S, 1);
    ssSetInputPortRequiredContiguous(S, 0, true);
    ssSetInputPortRequiredContiguous(S, 1, true);
    ssSetInputPortRequiredContiguous(S, 2, true);
    ssSetNumRWork(S, 6);

}

static void mdlInitializeSampleTimes(SimStruct *S)
{
    ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);
    ssSetOffsetTime(S, 0, 0.0);

}

#define MDL_INITIALIZE_CONDITIONS

static void mdlInitializeConditions(SimStruct *S)
       {
         real_T *x0 = ssGetContStates(S);
         const real_T *initialoutputangle = mxGetPr(INITIALOUTPUTANGLE(S));
         const real_T *initialoutputvelocity = mxGetPr(INITIALOUTPUTVELOCITY(S));
         const real_T *initialmotor1pos = mxGetPr(INITIALMOTOR1POS(S));
         const real_T *initialmotor1vel = mxGetPr(INITIALMOTOR1VEL(S));
         const real_T *initialmotor2pos = mxGetPr(INITIALMOTOR2POS(S));
         const real_T *initialmotor2vel = mxGetPr(INITIALMOTOR2VEL(S));
         real_T *forza1 =  &ssGetRWork(S)[0];
         real_T *forza2 =  &ssGetRWork(S)[1];
         real_T *lunghezza1 =  &ssGetRWork(S)[2];
         real_T *lunghezza2 =  &ssGetRWork(S)[3];
         real_T *lunghezza3 =  &ssGetRWork(S)[4];
         real_T *forza3 =  &ssGetRWork(S)[5];
         x0[0]=*initialoutputangle;
         x0[1]=*initialoutputvelocity;
         x0[2]=*initialmotor1pos;
         x0[3]=*initialmotor1vel;
         x0[4]=*initialmotor2pos;
         x0[5]=*initialmotor2vel;
         *forza1=0.0;
         *forza2=0.0;
         *forza3=0.0;
         *lunghezza1=0.0;
         *lunghezza2=0.0;
         *lunghezza3=0.0;
         
       }

static void mdlOutputs(SimStruct *S, int_T tid)
{
    
    real_T       *theta = (real_T*) ssGetOutputPortSignal(S,0);
    real_T       *thetavel = (real_T*) ssGetOutputPortSignal(S,1);
    real_T       *theta1 = (real_T*) ssGetOutputPortSignal(S,2);
    real_T       *theta2 = (real_T*) ssGetOutputPortSignal(S,3);
    real_T       *theta1vel = (real_T*) ssGetOutputPortSignal(S,4);
    real_T       *theta2vel = (real_T*) ssGetOutputPortSignal(S,5);
    real_T       *f1 = (real_T*) ssGetOutputPortSignal(S,6);
    real_T       *f2 = (real_T*) ssGetOutputPortSignal(S,7);
    real_T       *f3 = (real_T*) ssGetOutputPortSignal(S,8);
    real_T       *l1 = (real_T*) ssGetOutputPortSignal(S,9);
    real_T       *l2 = (real_T*) ssGetOutputPortSignal(S,10);
    real_T       *l3 = (real_T*) ssGetOutputPortSignal(S,11);
    
    real_T *forza1 =  &ssGetRWork(S)[0];
    real_T *forza2 =  &ssGetRWork(S)[1];
    real_T *forza3 =  &ssGetRWork(S)[5];
    real_T *lunghezza1 =  &ssGetRWork(S)[2];
    real_T *lunghezza2 =  &ssGetRWork(S)[3];
    real_T *lunghezza3 =  &ssGetRWork(S)[4];
    real_T       *x = ssGetContStates(S);
    const real_T *initialoutputangle = mxGetPr(INITIALOUTPUTANGLE(S));
    const real_T *initialoutputvelocity = mxGetPr(INITIALOUTPUTVELOCITY(S));
    const real_T *initialmotor1pos = mxGetPr(INITIALMOTOR1POS(S));
    const real_T *initialmotor1vel = mxGetPr(INITIALMOTOR1VEL(S));
    const real_T *initialmotor2pos = mxGetPr(INITIALMOTOR2POS(S));
    const real_T *initialmotor2vel = mxGetPr(INITIALMOTOR2VEL(S));
    *theta=x[0];
    *thetavel=x[1];
    *f1=*forza1;
    *f2=*forza2;
    *f3=*forza3;
    *theta1=x[2]-*initialmotor1pos;
    *theta2=x[4]-*initialmotor2pos;
    *theta1vel=x[3];
    *theta2vel=x[5];
    *l1=(*lunghezza1)*1000.0;
    *l2=(*lunghezza2)*1000.0;
    *l3=(*lunghezza3)*1000.0;
    
    
}
#define MDL_DERIVATIVES

static void mdlDerivatives(SimStruct *S)
  {
    real_T            *dx     = ssGetdX(S);
    real_T            *x      = ssGetContStates(S);
    const real_T *in1 = (const real_T*) ssGetInputPortSignal(S,0);
    const real_T *in2 = (const real_T*) ssGetInputPortSignal(S,1);
    const real_T *torque = (const real_T*) ssGetInputPortSignal(S,2);
    const real_T *mass = mxGetPr(MASS(S));
    const real_T *springconstant = mxGetPr(SPRINGCONSTANT(S));
    const real_T *springconstant3 = mxGetPr(SPRINGCONSTANT3(S));
    const real_T *internalfriction = mxGetPr(INTERNALFRICTION(S));
    const real_T *outputputfriction = mxGetPr(OUTPUTFRICTION(S));
    const real_T *inertia = mxGetPr(INERTIA(S));
    const real_T *motorinertia = mxGetPr(MOTORINERTIA(S));
    const real_T *lriposomolla = mxGetPr(LUNGHEZZARIPOSOMOLLA(S));
    const real_T *lriposomolla3 = mxGetPr(LUNGHEZZARIPOSOMOLLA3(S));
    const real_T *l3angolinulli = mxGetPr(L3ANGOLINULLI(S));
    real_T *forza1 =  &ssGetRWork(S)[0];
    real_T *forza2 =  &ssGetRWork(S)[1];
    real_T *forza3 =  &ssGetRWork(S)[5];
    real_T *lunghezza1 =  &ssGetRWork(S)[2];
    real_T *lunghezza2 =  &ssGetRWork(S)[3];
    real_T *lunghezza3 =  &ssGetRWork(S)[4];
    
    double Vin1,Vin2;
    double externaltorque;
    double l1=lunghezzamolla1(x[0],x[2],-0.005,(*lriposomolla)+0.015,*lriposomolla);
    double l2=lunghezzamolla2(x[0],x[4],-0.005,(*lriposomolla)+0.015,*lriposomolla);
    double l3=lunghezzamolla3(x[2],x[4],-0.005,(*lriposomolla3)+0.015,*l3angolinulli);
    double flung1,flung2,flung3,l1vel,l2vel,l3vel;
    double thetavel1,thetavel2,accmotore1,accmotore2,thetavelout;
    double m,k,k3,kmollone,mu,radius,j,outfriction,jmotor,Kt,Kv,R,eff,red;
    double lunghezzariposomolla,lunghezzariposomolla3;
    double a,c,z,f,g,h,p,q,s;
    double MapleGenVar1,MapleGenVar3,MapleGenVar4,MapleGenVar2;
    double MapleGenVar5,MapleGenVar6,MapleGenVar7,MapleGenVar8;
    
    
    lunghezzariposomolla=*lriposomolla;
    lunghezzariposomolla3=*lriposomolla3;
    
    
    *lunghezza1=l1;
    *lunghezza2=l2;
    *lunghezza3=l3;
    
    Vin1=*in1;
    Vin2=*in2;
    externaltorque=*torque;
    
    flung1=  -80.0/3.0*(4160000000000.0*l1*l1*l1*l1*l1-19200000000.0*l1*l1*l1*l1*sqrt(40000.0*l1*l1-1200.0*l1+29.0)-312000000000.0*l1*l1*l1*l1+1152000000.0*sqrt
                 (40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1+10576000000.0*l1*l1*l1-195120000.0*l1*
                        l1-23040000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1+1441800.0*l1+172800.0*
                           sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1+3996.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)
                            -783.0)/(9.0+8000.0*l1*l1-240.0*l1)/pow(400.0*l1-6.0-3.0*sqrt(40000.0*l1*l1
                               -1200.0*l1+29.0),2.0)/sqrt(40000.0*l1*l1-1200.0*l1+29.0);

    flung2= 80.0/3.0*(4160000000000.0*l2*l2*l2*l2*l2-312000000000.0*l2*l2*l2*l2-19200000000.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2+1152000000.0*sqrt
                     (40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2+10576000000.0*l2*l2*l2-195120000.0*l2*
                       l2-23040000.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2+1441800.0*l2+172800.0*
                            sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2+3996.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)
                            -783.0)/sqrt(40000.0*l2*l2-1200.0*l2+29.0)/pow(400.0*l2-6.0-3.0*sqrt(40000.0*l2
                             *l2-1200.0*l2+29.0),2.0)/(9.0+8000.0*l2*l2-240.0*l2);

                         
                         
    flung3 = -80.0/3.0*(4160000000000.0*l3*l3*l3*l3*l3-312000000000.0*l3*l3*l3*l3-19200000000.0*l3*l3*l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)+10576000000.0*l3*
               l3*l3+1152000000.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3-195120000.0*l3*
                   l3-23040000.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3+1441800.0*l3+172800.0*
                         sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3-783.0+3996.0*sqrt(40000.0*l3*l3-1200.0*l3
                         +29.0))/(9.0+8000.0*l3*l3-240.0*l3)/pow(400.0*l3-6.0-3.0*sqrt(40000.0*l3*l3
                          -1200.0*l3+29.0),2.0)/sqrt(40000.0*l3*l3-1200.0*l3+29.0);

                     

    
    thetavel1=x[3];
    thetavel2=x[5];
    thetavelout=x[1];
    l1vel=(x[3]-x[1])/flung1;
    l2vel=(x[5]-x[1])/flung2;
    l3vel=(x[5]-x[3])/flung3;
    m=*mass;
    k=(*springconstant)*1000.0;
    k3=(*springconstant3)*1000.0;
    kmollone=k*(l3-0.022)/(l3-lunghezzariposomolla3)+k3;
    mu=*internalfriction;
    radius=0.015;
    j=(*inertia)*0.000001;
    outfriction=*outputputfriction;
    red=66.0;
    eff=0.7;
    Kt=0.0202;
    R=8.4;
    Kv=(2.115e-3)*60.0/(2.0*3.14159);
    jmotor=*motorinertia;
    
    
    
         MapleGenVar1 = -m*(-197529840.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1-799528320000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1+0.17058816E18*l1*l1
                          *l1*l1*l1*l1+15534115200.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1+7801029.0+
                            0.193536E20*l1*l1*l1*l1*l1*l1*l1*l1-662860800000000.0*sqrt(40000.0*l1*l1-1200.0
                            *l1+29.0)*l1*l1*l1*l1*l1-0.95232E17*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1
                              *l1*l1*l1*l1+0.999936E16*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1*l1*l1*l1
                            -1271609280.0*l1+275446656000000.0*l1*l1*l1*l1+115608902400.0*l1*l1
                           -6665587200000.0*l1*l1*l1+27216000000000.0*l1*l1*l1*l1*sqrt(40000.0*l1*l1
                             -1200.0*l1+29.0)-0.80372736E16*l1*l1*l1*l1*l1-0.2322432E19*l1*l1*l1*l1*l1*l1*l1
                               +1194102.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0))/320.0;
      MapleGenVar3 = 1/(4199040.0*l1+927168000000000.0*sqrt(40000.0*l1*l1
                                 -1200.0*l1+29.0)*l1*l1*l1*l1*l1-0.169344E17*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*
                                l1*l1*l1*l1*l1*l1+0.16128E18*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1*l1*l1*
                                 l1*l1+194643.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)-0.2388992E18*l1*l1*l1*l1*l1*
                                 l1-7864776000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1-31435200000000.0*l1*l1
                                *l1*l1*sqrt(40000.0*l1*l1-1200.0*l1+29.0)+28683720.0*sqrt(40000.0*l1*l1-1200.0*
                               l1+29.0)*l1+651067200000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1
                                 -0.31744E20*l1*l1*l1*l1*l1*l1*l1*l1-34613568000.0*l1*l1-246216960000000.0*l1*l1
                                    *l1*l1+4120243200000.0*l1*l1*l1+0.9501696E16*l1*l1*l1*l1*l1+0.380928E19*l1*l1*
                                     l1*l1*l1*l1*l1+3086586.0);
      MapleGenVar4 = 1/(2.0/3.0-1/(45.0+40000.0*l1*l1-1200.0*l1)*(-1600.0*l1+
                                         24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0))/4.0+50.0/3.0*l1/(45.0+40000.0*l1*
                                 l1-1200.0*l1)*(-1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)))*sqrt(
                                 4.0*pow(2.0/3.0-1/(45.0+40000.0*l1*l1-1200.0*l1)*(-1600.0*l1+24.0+12.0*sqrt(
                                   40000.0*l1*l1-1200.0*l1+29.0))/4.0+50.0/3.0*l1/(45.0+40000.0*l1*l1-1200.0*l1)*(
                                 -1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)),2.0)+1/(pow(45.0+
                                  40000.0*l1*l1-1200.0*l1,2.0))*pow(-1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1
                                   -1200.0*l1+29.0),2.0));
      MapleGenVar2 = MapleGenVar3*MapleGenVar4;
      a = MapleGenVar1*MapleGenVar2;



           
           
           
                 MapleGenVar1 = -m*(-275446656000000.0*l1*l1*l1*l1+6665587200000.0*l1*l1*l1-7801029.0-0.17058816E18*l1*l1*l1*l1*l1*l1-115608902400.0*l1*l1+1271609280.0*
                                  l1+799528320000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1+197529840.0*sqrt(
                                  40000.0*l1*l1-1200.0*l1+29.0)*l1-1194102.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)
                                  -0.999936E16*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1*l1*l1*l1+
                                 662860800000000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1*l1*l1+0.95232E17*
                                       sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1*l1*l1*l1*l1-27216000000000.0*l1*l1*
                                     l1*l1*sqrt(40000.0*l1*l1-1200.0*l1+29.0)+0.80372736E16*l1*l1*l1*l1*l1
                                     -0.193536E20*l1*l1*l1*l1*l1*l1*l1*l1+0.2322432E19*l1*l1*l1*l1*l1*l1*l1
                                    -15534115200.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1)/320.0;
                MapleGenVar3 = 1/(4199040.0*l1+927168000000000.0*sqrt(40000.0*l1*l1
                                   -1200.0*l1+29.0)*l1*l1*l1*l1*l1-0.169344E17*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*
                                     l1*l1*l1*l1*l1*l1+0.16128E18*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1*l1*l1*
                                      l1*l1+194643.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)-0.2388992E18*l1*l1*l1*l1*l1*
                                     l1-7864776000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1-31435200000000.0*l1*l1
                                     *l1*l1*sqrt(40000.0*l1*l1-1200.0*l1+29.0)+28683720.0*sqrt(40000.0*l1*l1-1200.0*
                                    l1+29.0)*l1+651067200000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1
                                    -0.31744E20*l1*l1*l1*l1*l1*l1*l1*l1-34613568000.0*l1*l1-246216960000000.0*l1*l1
                                     *l1*l1+4120243200000.0*l1*l1*l1+0.9501696E16*l1*l1*l1*l1*l1+0.380928E19*l1*l1*
                                          l1*l1*l1*l1*l1+3086586.0);
               MapleGenVar4 = 1/(2.0/3.0-1/(45.0+40000.0*l1*l1-1200.0*l1)*(-1600.0*l1+
                                           24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0))/4.0+50.0/3.0*l1/(45.0+40000.0*l1*
                                         l1-1200.0*l1)*(-1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)))*sqrt(
                                         4.0*pow(2.0/3.0-1/(45.0+40000.0*l1*l1-1200.0*l1)*(-1600.0*l1+24.0+12.0*sqrt(
                                            40000.0*l1*l1-1200.0*l1+29.0))/4.0+50.0/3.0*l1/(45.0+40000.0*l1*l1-1200.0*l1)*(
                                          -1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)),2.0)+1/(pow(45.0+
                                            40000.0*l1*l1-1200.0*l1,2.0))*pow(-1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1
                                             -1200.0*l1+29.0),2.0));
                MapleGenVar2 = MapleGenVar3*MapleGenVar4;
      z = MapleGenVar1*MapleGenVar2;


             
             
                    MapleGenVar2 = k*(lunghezzariposomolla-l1)/4.0;      MapleGenVar5 = -m/320.0;
      MapleGenVar7 = 913213440000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1vel*
l1vel*l1-0.4798464E18*l1vel*l1vel*l1*l1*l1*l1+0.6397952E19*l1vel*l1vel*l1*l1*l1
*l1*l1-431585280000000.0*l1vel*l1vel*l1*l1-0.3201024E17*l1vel*l1vel*l1*l1*l1*l1
*sqrt(40000.0*l1*l1-1200.0*l1+29.0)+0.19187712E17*l1vel*l1vel*l1*l1*l1+
5683737600000.0*l1vel*l1vel*l1+0.19206144E16*l1vel*l1vel*l1*l1*l1*sqrt(40000.0*
l1*l1-1200.0*l1+29.0)-6472742400.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1vel*
l1vel-33474124800.0*l1vel*l1vel-59249664000000.0*sqrt(40000.0*l1*l1-1200.0*l1+
29.0)*l1vel*l1vel*l1*l1;
      MapleGenVar8 = 1/(4199040.0*l1+927168000000000.0*sqrt(40000.0*l1*l1
-1200.0*l1+29.0)*l1*l1*l1*l1*l1-0.169344E17*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*
l1*l1*l1*l1*l1*l1+0.16128E18*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1*l1*l1*
l1*l1+194643.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)-0.2388992E18*l1*l1*l1*l1*l1*
l1-7864776000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1-31435200000000.0*l1*l1
*l1*l1*sqrt(40000.0*l1*l1-1200.0*l1+29.0)+28683720.0*sqrt(40000.0*l1*l1-1200.0*
l1+29.0)*l1+651067200000.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)*l1*l1*l1
-0.31744E20*l1*l1*l1*l1*l1*l1*l1*l1-34613568000.0*l1*l1-246216960000000.0*l1*l1
*l1*l1+4120243200000.0*l1*l1*l1+0.9501696E16*l1*l1*l1*l1*l1+0.380928E19*l1*l1*
l1*l1*l1*l1*l1+3086586.0);
      MapleGenVar6 = MapleGenVar7*MapleGenVar8;
      MapleGenVar4 = MapleGenVar5*MapleGenVar6;
      MapleGenVar5 = -mu*l1vel/4.0;
      MapleGenVar3 = MapleGenVar4+MapleGenVar5;
      MapleGenVar1 = MapleGenVar2+MapleGenVar3;
      MapleGenVar2 = 1/(2.0/3.0-1/(45.0+40000.0*l1*l1-1200.0*l1)*(-1600.0*l1+
24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0))/4.0+50.0/3.0*l1/(45.0+40000.0*l1*
l1-1200.0*l1)*(-1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)))*sqrt(
4.0*pow(2.0/3.0-1/(45.0+40000.0*l1*l1-1200.0*l1)*(-1600.0*l1+24.0+12.0*sqrt(
40000.0*l1*l1-1200.0*l1+29.0))/4.0+50.0/3.0*l1/(45.0+40000.0*l1*l1-1200.0*l1)*(
-1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1-1200.0*l1+29.0)),2.0)+1/(pow(45.0+
40000.0*l1*l1-1200.0*l1,2.0))*pow(-1600.0*l1+24.0+12.0*sqrt(40000.0*l1*l1
-1200.0*l1+29.0),2.0));
      f = MapleGenVar1*MapleGenVar2;

      
      
      
       MapleGenVar1 = m*(275446656000000.0*l2*l2*l2*l2+1194102.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)+0.193536E20*l2*l2*l2*l2*l2*l2*l2*l2+7801029.0+
115608902400.0*l2*l2-0.2322432E19*l2*l2*l2*l2*l2*l2*l2-1271609280.0*l2
-6665587200000.0*l2*l2*l2-0.80372736E16*l2*l2*l2*l2*l2+0.17058816E18*l2*l2*l2*
l2*l2*l2-662860800000000.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2
-799528320000.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2+27216000000000.0*
sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2+0.999936E16*sqrt(40000.0*l2*l2
-1200.0*l2+29.0)*l2*l2*l2*l2*l2*l2-197529840.0*sqrt(40000.0*l2*l2-1200.0*l2+
29.0)*l2-0.95232E17*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2*l2*l2+
15534115200.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2)/320.0;
      MapleGenVar3 = 1/(3086586.0+927168000000000.0*sqrt(40000.0*l2*l2-1200.0*
l2+29.0)*l2*l2*l2*l2*l2-0.169344E17*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2
*l2*l2*l2+0.16128E18*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2*l2*l2+
28683720.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2-7864776000.0*sqrt(40000.0*l2*
l2-1200.0*l2+29.0)*l2*l2-0.31744E20*l2*l2*l2*l2*l2*l2*l2*l2-0.2388992E18*l2*l2*
l2*l2*l2*l2+0.380928E19*l2*l2*l2*l2*l2*l2*l2+0.9501696E16*l2*l2*l2*l2*l2+
4120243200000.0*l2*l2*l2-34613568000.0*l2*l2+194643.0*sqrt(40000.0*l2*l2-1200.0
*l2+29.0)+4199040.0*l2-246216960000000.0*l2*l2*l2*l2+651067200000.0*sqrt(
40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2-31435200000000.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0)*l2*l2*l2*l2);
      MapleGenVar4 = 1/(2.0/3.0-1/(45.0+40000.0*l2*l2-1200.0*l2)*(-1600.0*l2+
24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0))/4.0+50.0/3.0*l2/(45.0+40000.0*l2*
l2-1200.0*l2)*(-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)))*sqrt(
4.0*pow(2.0/3.0-1/(45.0+40000.0*l2*l2-1200.0*l2)*(-1600.0*l2+24.0+12.0*sqrt(
40000.0*l2*l2-1200.0*l2+29.0))/4.0+50.0/3.0*l2/(45.0+40000.0*l2*l2-1200.0*l2)*(
-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)),2.0)+1/(pow(45.0+
40000.0*l2*l2-1200.0*l2,2.0))*pow(-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0),2.0));
      MapleGenVar2 = MapleGenVar3*MapleGenVar4;
      c = MapleGenVar1*MapleGenVar2;

      
      
      
      MapleGenVar1 = m*(-7801029.0+6665587200000.0*l2*l2*l2-115608902400.0*l2*l2+0.2322432E19*l2*l2*l2*l2*l2*l2*l2-0.193536E20*l2*l2*l2*l2*l2*l2*l2*l2+
799528320000.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2-15534115200.0*sqrt(
40000.0*l2*l2-1200.0*l2+29.0)*l2*l2-0.17058816E18*l2*l2*l2*l2*l2*l2+
662860800000000.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2-0.999936E16
*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2*l2+197529840.0*sqrt(40000.0*
l2*l2-1200.0*l2+29.0)*l2-275446656000000.0*l2*l2*l2*l2+0.95232E17*sqrt(40000.0*
l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2*l2*l2+1271609280.0*l2-27216000000000.0*
sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2-1194102.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0)+0.80372736E16*l2*l2*l2*l2*l2)/320.0;
      MapleGenVar3 = 1/(3086586.0+927168000000000.0*sqrt(40000.0*l2*l2-1200.0*
l2+29.0)*l2*l2*l2*l2*l2-0.169344E17*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2
*l2*l2*l2+0.16128E18*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2*l2*l2+
28683720.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2-7864776000.0*sqrt(40000.0*l2*
l2-1200.0*l2+29.0)*l2*l2-0.31744E20*l2*l2*l2*l2*l2*l2*l2*l2-0.2388992E18*l2*l2*
l2*l2*l2*l2+0.380928E19*l2*l2*l2*l2*l2*l2*l2+0.9501696E16*l2*l2*l2*l2*l2+
4120243200000.0*l2*l2*l2-34613568000.0*l2*l2+194643.0*sqrt(40000.0*l2*l2-1200.0
*l2+29.0)+4199040.0*l2-246216960000000.0*l2*l2*l2*l2+651067200000.0*sqrt(
40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2-31435200000000.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0)*l2*l2*l2*l2);
      MapleGenVar4 = 1/(2.0/3.0-1/(45.0+40000.0*l2*l2-1200.0*l2)*(-1600.0*l2+
24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0))/4.0+50.0/3.0*l2/(45.0+40000.0*l2*
l2-1200.0*l2)*(-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)))*sqrt(
4.0*pow(2.0/3.0-1/(45.0+40000.0*l2*l2-1200.0*l2)*(-1600.0*l2+24.0+12.0*sqrt(
40000.0*l2*l2-1200.0*l2+29.0))/4.0+50.0/3.0*l2/(45.0+40000.0*l2*l2-1200.0*l2)*(
-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)),2.0)+1/(pow(45.0+
40000.0*l2*l2-1200.0*l2,2.0))*pow(-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0),2.0));
      MapleGenVar2 = MapleGenVar3*MapleGenVar4;
      g = MapleGenVar1*MapleGenVar2;

      
      
            MapleGenVar2 = k*(lunghezzariposomolla-l2)/4.0;      MapleGenVar5 = m/320.0;
      MapleGenVar7 = 431585280000000.0*l2vel*l2vel*l2*l2+0.4798464E18*l2vel*
l2vel*l2*l2*l2*l2-0.6397952E19*l2vel*l2vel*l2*l2*l2*l2*l2-0.19187712E17*l2vel*
l2vel*l2*l2*l2-5683737600000.0*l2vel*l2vel*l2-913213440000.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0)*l2vel*l2vel*l2+0.3201024E17*l2vel*l2vel*l2*l2*l2*l2*sqrt(
40000.0*l2*l2-1200.0*l2+29.0)+59249664000000.0*sqrt(40000.0*l2*l2-1200.0*l2+
29.0)*l2vel*l2vel*l2*l2+33474124800.0*l2vel*l2vel+6472742400.0*sqrt(40000.0*l2*
l2-1200.0*l2+29.0)*l2vel*l2vel-0.19206144E16*l2vel*l2vel*l2*l2*l2*sqrt(40000.0*
l2*l2-1200.0*l2+29.0);
      MapleGenVar8 = 1/(3086586.0+927168000000000.0*sqrt(40000.0*l2*l2-1200.0*
l2+29.0)*l2*l2*l2*l2*l2-0.169344E17*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2
*l2*l2*l2+0.16128E18*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2*l2*l2*l2*l2+
28683720.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)*l2-7864776000.0*sqrt(40000.0*l2*
l2-1200.0*l2+29.0)*l2*l2-0.31744E20*l2*l2*l2*l2*l2*l2*l2*l2-0.2388992E18*l2*l2*
l2*l2*l2*l2+0.380928E19*l2*l2*l2*l2*l2*l2*l2+0.9501696E16*l2*l2*l2*l2*l2+
4120243200000.0*l2*l2*l2-34613568000.0*l2*l2+194643.0*sqrt(40000.0*l2*l2-1200.0
*l2+29.0)+4199040.0*l2-246216960000000.0*l2*l2*l2*l2+651067200000.0*sqrt(
40000.0*l2*l2-1200.0*l2+29.0)*l2*l2*l2-31435200000000.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0)*l2*l2*l2*l2);
      MapleGenVar6 = MapleGenVar7*MapleGenVar8;
      MapleGenVar4 = MapleGenVar5*MapleGenVar6;
      MapleGenVar5 = -mu*l2vel/4.0;
      MapleGenVar3 = MapleGenVar4+MapleGenVar5;
      MapleGenVar1 = MapleGenVar2+MapleGenVar3;
      MapleGenVar2 = 1/(2.0/3.0-1/(45.0+40000.0*l2*l2-1200.0*l2)*(-1600.0*l2+
24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0))/4.0+50.0/3.0*l2/(45.0+40000.0*l2*
l2-1200.0*l2)*(-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)))*sqrt(
4.0*pow(2.0/3.0-1/(45.0+40000.0*l2*l2-1200.0*l2)*(-1600.0*l2+24.0+12.0*sqrt(
40000.0*l2*l2-1200.0*l2+29.0))/4.0+50.0/3.0*l2/(45.0+40000.0*l2*l2-1200.0*l2)*(
-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2-1200.0*l2+29.0)),2.0)+1/(pow(45.0+
40000.0*l2*l2-1200.0*l2,2.0))*pow(-1600.0*l2+24.0+12.0*sqrt(40000.0*l2*l2
-1200.0*l2+29.0),2.0));
      h = MapleGenVar1*MapleGenVar2;

      
      
      
      
      
      MapleGenVar1 = m*(7801029.0+0.17058816E18*l3*l3*l3*l3*l3*l3-0.80372736E16*l3*l3*l3*l3*l3-6665587200000.0*l3*l3*l3-799528320000.0*sqrt(40000.0*l3*l3
-1200.0*l3+29.0)*l3*l3*l3+15534115200.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*
l3-0.95232E17*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3*l3+
27216000000000.0*l3*l3*l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)-197529840.0*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3+0.999936E16*sqrt(40000.0*l3*l3-1200.0*l3+
29.0)*l3*l3*l3*l3*l3*l3-662860800000000.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3
*l3*l3*l3*l3+115608902400.0*l3*l3-0.2322432E19*l3*l3*l3*l3*l3*l3*l3+
275446656000000.0*l3*l3*l3*l3+0.193536E20*l3*l3*l3*l3*l3*l3*l3*l3-1271609280.0*
l3+1194102.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0))/320.0;
      MapleGenVar3 = 1/(-3086586.0-194643.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)+
0.31744E20*l3*l3*l3*l3*l3*l3*l3*l3+246216960000000.0*l3*l3*l3*l3
-4120243200000.0*l3*l3*l3+34613568000.0*l3*l3-0.380928E19*l3*l3*l3*l3*l3*l3*l3+
0.2388992E18*l3*l3*l3*l3*l3*l3-0.9501696E16*l3*l3*l3*l3*l3-4199040.0*l3+
0.169344E17*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3-0.16128E18*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3*l3-927168000000000.0*sqrt(
40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3+7864776000.0*sqrt(40000.0*l3*l3
-1200.0*l3+29.0)*l3*l3-28683720.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3+
31435200000000.0*l3*l3*l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)-651067200000.0*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3);
      MapleGenVar4 = 1/(2.0/3.0-1/(45.0+40000.0*l3*l3-1200.0*l3)*(-1600.0*l3+
24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0))/4.0+50.0/3.0*l3/(45.0+40000.0*l3*
l3-1200.0*l3)*(-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)))*sqrt(
4.0*pow(2.0/3.0-1/(45.0+40000.0*l3*l3-1200.0*l3)*(-1600.0*l3+24.0+12.0*sqrt(
40000.0*l3*l3-1200.0*l3+29.0))/4.0+50.0/3.0*l3/(45.0+40000.0*l3*l3-1200.0*l3)*(
-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)),2.0)+1/(pow(45.0+
40000.0*l3*l3-1200.0*l3,2.0))*pow(-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3
-1200.0*l3+29.0),2.0));
      MapleGenVar2 = MapleGenVar3*MapleGenVar4;
      p = MapleGenVar1*MapleGenVar2;

      
      
      
      
         MapleGenVar1 = m*(6665587200000.0*l3*l3*l3-275446656000000.0*l3*l3*l3*l3-0.193536E20*l3*l3*l3*l3*l3*l3*l3*l3-1194102.0*sqrt(40000.0*l3*l3-1200.0*l3+
29.0)+799528320000.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3
-27216000000000.0*l3*l3*l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)+197529840.0*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3-0.999936E16*sqrt(40000.0*l3*l3-1200.0*l3+
29.0)*l3*l3*l3*l3*l3*l3+662860800000000.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3
*l3*l3*l3*l3+0.95232E17*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3*l3
-15534115200.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3+0.2322432E19*l3*l3*l3*
l3*l3*l3*l3-0.17058816E18*l3*l3*l3*l3*l3*l3-115608902400.0*l3*l3+1271609280.0*
l3+0.80372736E16*l3*l3*l3*l3*l3-7801029.0)/320.0;
      MapleGenVar3 = 1/(-3086586.0-194643.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)+
0.31744E20*l3*l3*l3*l3*l3*l3*l3*l3+246216960000000.0*l3*l3*l3*l3
-4120243200000.0*l3*l3*l3+34613568000.0*l3*l3-0.380928E19*l3*l3*l3*l3*l3*l3*l3+
0.2388992E18*l3*l3*l3*l3*l3*l3-0.9501696E16*l3*l3*l3*l3*l3-4199040.0*l3+
0.169344E17*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3-0.16128E18*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3*l3-927168000000000.0*sqrt(
40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3+7864776000.0*sqrt(40000.0*l3*l3
-1200.0*l3+29.0)*l3*l3-28683720.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3+
31435200000000.0*l3*l3*l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)-651067200000.0*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3);
      MapleGenVar4 = 1/(2.0/3.0-1/(45.0+40000.0*l3*l3-1200.0*l3)*(-1600.0*l3+
24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0))/4.0+50.0/3.0*l3/(45.0+40000.0*l3*
l3-1200.0*l3)*(-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)))*sqrt(
4.0*pow(2.0/3.0-1/(45.0+40000.0*l3*l3-1200.0*l3)*(-1600.0*l3+24.0+12.0*sqrt(
40000.0*l3*l3-1200.0*l3+29.0))/4.0+50.0/3.0*l3/(45.0+40000.0*l3*l3-1200.0*l3)*(
-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)),2.0)+1/(pow(45.0+
40000.0*l3*l3-1200.0*l3,2.0))*pow(-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3
-1200.0*l3+29.0),2.0));
      MapleGenVar2 = MapleGenVar3*MapleGenVar4;
      q = MapleGenVar1*MapleGenVar2;

      
      
      
      
               MapleGenVar2 = kmollone*(lunghezzariposomolla3-l3)/4.0;      MapleGenVar5 = m/320.0;
      MapleGenVar7 = -0.4798464E18*l3vel*l3vel*l3*l3*l3*l3-33474124800.0*l3vel*
l3vel-0.3201024E17*l3vel*l3vel*l3*l3*l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)
-431585280000000.0*l3vel*l3vel*l3*l3-59249664000000.0*sqrt(40000.0*l3*l3-1200.0
*l3+29.0)*l3vel*l3vel*l3*l3+913213440000.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*
l3vel*l3vel*l3+0.19187712E17*l3vel*l3vel*l3*l3*l3+0.19206144E16*l3vel*l3vel*l3*
l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)+0.6397952E19*l3vel*l3vel*l3*l3*l3*l3*
l3+5683737600000.0*l3vel*l3vel*l3-6472742400.0*sqrt(40000.0*l3*l3-1200.0*l3+
29.0)*l3vel*l3vel;
      MapleGenVar8 = 1/(-3086586.0-194643.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)+
0.31744E20*l3*l3*l3*l3*l3*l3*l3*l3+246216960000000.0*l3*l3*l3*l3
-4120243200000.0*l3*l3*l3+34613568000.0*l3*l3-0.380928E19*l3*l3*l3*l3*l3*l3*l3+
0.2388992E18*l3*l3*l3*l3*l3*l3-0.9501696E16*l3*l3*l3*l3*l3-4199040.0*l3+
0.169344E17*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3-0.16128E18*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3*l3*l3-927168000000000.0*sqrt(
40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3*l3*l3+7864776000.0*sqrt(40000.0*l3*l3
-1200.0*l3+29.0)*l3*l3-28683720.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3+
31435200000000.0*l3*l3*l3*l3*sqrt(40000.0*l3*l3-1200.0*l3+29.0)-651067200000.0*
sqrt(40000.0*l3*l3-1200.0*l3+29.0)*l3*l3*l3);
      MapleGenVar6 = MapleGenVar7*MapleGenVar8;
      MapleGenVar4 = MapleGenVar5*MapleGenVar6;
      MapleGenVar5 = -mu*l3vel/4.0;
      MapleGenVar3 = MapleGenVar4+MapleGenVar5;
      MapleGenVar1 = MapleGenVar2+MapleGenVar3;
      MapleGenVar2 = 1/(2.0/3.0-1/(45.0+40000.0*l3*l3-1200.0*l3)*(-1600.0*l3+
24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0))/4.0+50.0/3.0*l3/(45.0+40000.0*l3*
l3-1200.0*l3)*(-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)))*sqrt(
4.0*pow(2.0/3.0-1/(45.0+40000.0*l3*l3-1200.0*l3)*(-1600.0*l3+24.0+12.0*sqrt(
40000.0*l3*l3-1200.0*l3+29.0))/4.0+50.0/3.0*l3/(45.0+40000.0*l3*l3-1200.0*l3)*(
-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3-1200.0*l3+29.0)),2.0)+1/(pow(45.0+
40000.0*l3*l3-1200.0*l3,2.0))*pow(-1600.0*l3+24.0+12.0*sqrt(40000.0*l3*l3
-1200.0*l3+29.0),2.0));
      s = MapleGenVar1*MapleGenVar2;




      
      
      
      
      
      
            MapleGenVar2 = radius*radius*q*R*h*j-radius*radius*q*j*R*f+radius*radius*a*g*Kt*eff*red*Vin1+radius*radius*q*a*Kt*eff*red*Kv*thetavel1-radius*radius*c*
                            jmotor*R*f+radius*radius*c*jmotor*R*s+radius*radius*q*a*R*outfriction*
                            thetavelout-radius*radius*q*a*Kt*eff*red*Vin1-radius*radius*a*g*Kt*eff*red*Kv*
                             thetavel2+radius*radius*a*g*R*externaltorque-radius*radius*q*a*R*externaltorque
                             -radius*radius*a*g*R*outfriction*thetavelout-radius*radius*a*g*Kt*eff*red*Kv*
                               thetavel1-radius*radius*jmotor*R*s*a+radius*radius*g*j*R*f-radius*radius*g*j*R*
                                 s+radius*radius*q*Kt*eff*red*Kv*thetavel2*a+radius*radius*a*g*Kt*eff*red*Vin2-
                                 radius*radius*q*Kt*eff*red*Vin2*a+radius*radius*jmotor*R*a*h-jmotor*j*Kt*eff*
                                  red*Kv*thetavel1;
            MapleGenVar3 = MapleGenVar2+jmotor*j*Kt*eff*red*Vin1-radius*q*j*Kt*eff*
                                  red*Kv*thetavel1-radius*jmotor*R*a*externaltorque+radius*q*j*Kt*eff*red*Vin1-
                                   radius*g*j*Kt*eff*red*Vin1-radius*jmotor*Kt*eff*red*Vin1*a+radius*jmotor*Kt*eff
                                  *red*Kv*thetavel1*a-radius*q*Kt*eff*red*Kv*thetavel2*j+radius*jmotor*j*R*s+
                                  radius*q*Kt*eff*red*Vin2*j;
            MapleGenVar1 = MapleGenVar3+radius*g*j*Kt*eff*red*Kv*thetavel1+radius*
                                  jmotor*R*a*outfriction*thetavelout+radius*c*jmotor*Kt*eff*red*Vin1-radius*c*
                                  jmotor*Kt*eff*red*Kv*thetavel1-radius*jmotor*j*R*f-radius*radius*c*q*R*
                                  outfriction*thetavelout+radius*radius*c*q*Kt*eff*red*Vin1-radius*radius*c*q*Kt*
                                  eff*red*Kv*thetavel2+radius*radius*c*q*R*externaltorque-radius*radius*c*q*Kt*
                                   eff*red*Kv*thetavel1+radius*radius*c*q*Kt*eff*red*Vin2;
            MapleGenVar2 = 1/R/(radius*radius*q*j*z-radius*radius*q*a*jmotor-radius*g
                                     *j*jmotor+radius*q*j*jmotor+radius*jmotor*j*z-radius*jmotor*j*p+radius*c*jmotor
                                     *jmotor-radius*radius*g*j*z+radius*radius*g*j*p-radius*jmotor*jmotor*a+radius*
                                     radius*jmotor*p*a+radius*radius*c*q*jmotor+jmotor*jmotor*j+radius*radius*c*
                                      jmotor*z-radius*radius*c*jmotor*p+radius*radius*a*g*jmotor);
      accmotore1 = MapleGenVar1*MapleGenVar2;
      
      
      
      
      
               MapleGenVar2 = jmotor*j*Kt*eff*red*Vin2-jmotor*j*Kt*eff*red*Kv*thetavel2+radius*radius*a*p*R*externaltorque+radius*radius*p*j*R*f-radius*radius*R*s*j*z+
                                radius*radius*R*h*j*z-radius*radius*R*h*j*p-radius*radius*p*c*R*externaltorque+
                                 radius*radius*z*c*R*externaltorque-radius*radius*z*c*R*outfriction*thetavelout+
                                 radius*radius*z*c*Kt*eff*red*Vin1-radius*radius*z*c*Kt*eff*red*Kv*thetavel2+
                                 radius*radius*p*c*R*outfriction*thetavelout-radius*radius*p*c*Kt*eff*red*Vin1+
                                 radius*radius*z*c*Kt*eff*red*Vin2-radius*radius*z*c*Kt*eff*red*Kv*thetavel1+
                                 radius*radius*p*c*Kt*eff*red*Kv*thetavel1+radius*radius*p*c*Kt*eff*red*Kv*
                                 thetavel2-radius*radius*p*c*Kt*eff*red*Vin2-radius*radius*a*p*R*outfriction*
                                    thetavelout-radius*radius*a*p*Kt*eff*red*Kv*thetavel2;
               MapleGenVar3 = MapleGenVar2+radius*radius*a*p*Kt*eff*red*Vin1+radius*
                                   radius*a*p*Kt*eff*red*Vin2-radius*radius*a*p*Kt*eff*red*Kv*thetavel1+radius*a*
                                   jmotor*Kt*eff*red*Kv*thetavel2-radius*a*jmotor*Kt*eff*red*Vin2-radius*jmotor*c*
                                     Kt*eff*red*Kv*thetavel2+radius*jmotor*c*Kt*eff*red*Vin2+radius*p*j*Kt*eff*red*
                                          Kv*thetavel2+radius*z*j*Kt*eff*red*Vin2+radius*p*j*Kt*eff*red*Kv*thetavel1;
               MapleGenVar1 = MapleGenVar3-radius*p*j*Kt*eff*red*Vin1-radius*jmotor*c*R*
                                outfriction*thetavelout+radius*jmotor*c*R*externaltorque-radius*z*j*Kt*eff*red*
                                 Kv*thetavel2+radius*jmotor*j*R*h-radius*p*j*Kt*eff*red*Vin2+radius*radius*c*
                                  jmotor*R*f-radius*radius*c*jmotor*R*s+radius*radius*jmotor*R*s*a-radius*radius*
                                     jmotor*R*a*h-radius*jmotor*j*R*s;
               MapleGenVar2 = 1/R/(radius*radius*q*j*z-radius*radius*q*a*jmotor-radius*g
                                             *j*jmotor+radius*q*j*jmotor+radius*jmotor*j*z-radius*jmotor*j*p+radius*c*jmotor
                                      *jmotor-radius*radius*g*j*z+radius*radius*g*j*p-radius*jmotor*jmotor*a+radius*
                                  radius*jmotor*p*a+radius*radius*c*q*jmotor+jmotor*jmotor*j+radius*radius*c*
                                       jmotor*z-radius*radius*c*jmotor*p+radius*radius*a*g*jmotor);
      accmotore2 = MapleGenVar1*MapleGenVar2;




      


    *forza1=a*(((externaltorque)+radius*(((z)*(accmotore1)+(f))-((g)*(accmotore2)+(h)))-outfriction*x[1])/(j+radius*(c-a)))+z*accmotore1+f;
    *forza2=c*(((externaltorque)+radius*(((z)*(accmotore1)+(f))-((g)*(accmotore2)+(h)))-outfriction*x[1])/(j+radius*(c-a)))+g*accmotore2+h; 
    *forza3=p*accmotore1+q*accmotore2+s;  

    dx[0]=x[1];
    dx[1]=((externaltorque)+radius*(((z)*(accmotore1)+(f))-((g)*(accmotore2)+(h)))-outfriction*x[1])/(j+radius*(c-a));
    dx[2]=x[3];
    dx[3]=accmotore1;
    dx[4]=x[5];
    dx[5]=accmotore2;
    
    
  }

static void mdlTerminate(SimStruct *S)
{
}

#ifdef  MATLAB_MEX_FILE    
#include "simulink.c"     
#else
#include "cg_sfun.h"      
#endif
#ifdef __cplusplus
} // end of extern "C" scope
#endif
